Android之AlertDialog应用
Android 中的对话框 dialog
对话框对于应用是必不可少的一个组件,在Android中也不例外,用于提示重要信息...
Android提供了丰富的对话框支持,它提供了4种常用的对话框形式:
- AlertDialog:警告对话框,使用最广泛功能最丰富的一个对话框
- ProgressDialog:进度条对话框,只是对进度条进行了简单的封装
- DatePickerDialog:日期对话框
- TimePickerDialog:时间对话框
这里简单介绍 AlertDialog 的使用方法:
activity_main 布局文件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.dragon.android.alertdialog.MainActivity"> <Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="massage"
android:id="@+id/bt_msg"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" /> <Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="sure"
android:id="@+id/bt_sure"
android:layout_below="@+id/bt_msg"
android:layout_alignRight="@+id/bt_msg"
android:layout_alignEnd="@+id/bt_msg" /> <Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="EditText"
android:id="@+id/bt_editText"
android:layout_below="@+id/bt_sure"
android:layout_alignLeft="@+id/bt_sure"
android:layout_alignStart="@+id/bt_sure" /> <Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="singlechoice"
android:id="@+id/bt_singleChoice"
android:layout_below="@+id/bt_editText"
android:layout_centerHorizontal="true" /> <Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="mutichoice"
android:id="@+id/bt_multiChoice"
android:layout_below="@+id/bt_singleChoice"
android:layout_centerHorizontal="true" /> <Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="imageview"
android:id="@+id/bt_imageView"
android:layout_below="@+id/bt_multiChoice"
android:layout_centerHorizontal="true" />
</RelativeLayout>
activity_main
MainActivity
package com.dragon.android.alertdialog; import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView; public class MainActivity extends AppCompatActivity implements View.OnClickListener { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
} private void initView() {
findViewById(R.id.bt_msg).setOnClickListener(this);
findViewById(R.id.bt_sure).setOnClickListener(this);
findViewById(R.id.bt_editText).setOnClickListener(this);
findViewById(R.id.bt_singleChoice).setOnClickListener(this);
findViewById(R.id.bt_multiChoice).setOnClickListener(this);
findViewById(R.id.bt_imageView).setOnClickListener(this);
} @Override
public void onClick(View v) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
switch (v.getId()) {
case R.id.bt_msg:
builder
.setTitle("Title") // 设置标题
.setMessage("this is a massage") // 设置提示信息
.setPositiveButton("sure", null) // 参数1:按钮名;参数2:监听器
.show();
break;
case R.id.bt_sure:
builder
.setTitle("Sure")
.setMessage("Sure?")
.setPositiveButton("sure", null)
.setNegativeButton("cancel", null)
.show();
break;
case R.id.bt_editText:
builder
.setTitle("Please input")
.setView(new EditText(this)) // 此方法显示一个View
.setPositiveButton("sure", null)
.setNegativeButton("cancel", null)
.show();
break;
case R.id.bt_singleChoice:
builder
.setTitle("Please choice")
.setSingleChoiceItems(new String[]{"A", "B", "C"}, 0,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 单选框,点击一个则自动退出
dialog.dismiss();
}
}) // 参数1:选择框的选项数;参数2:选择的选项ID;参数3:监听器
.setNegativeButton("cancel", null)
.show();
break;
case R.id.bt_multiChoice:
builder
.setTitle("Please choice")
.setMultiChoiceItems(new String[]{"A", "B", "C"}, null, null) // 类同单选
.setPositiveButton("sure", null)
.setNegativeButton("cancel", null)
.show();
break;
case R.id.bt_imageView:
ImageView imageView = new ImageView(this);
imageView.setImageResource(R.mipmap.ic_launcher); // 设置图片资源
builder
.setTitle("Image")
.setView(imageView) // 此方法显示一个View
.setPositiveButton("sure", null)
.show();
break;
}
}
}
Android之AlertDialog应用的更多相关文章
- Android之AlertDialog.Builder详解
import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; ...
- 【Android】Android在AlertDialog使用大全
package com.ceac.deng; import android.R.string; import android.support.v7.app.ActionBarActivity; imp ...
- [转]好文章:Android的AlertDialog详解
refer:http://www.2cto.com/kf/201205/131876.html AlertDialog的构造方法全部是Protected的,所以不能直接通过new一个AlertDial ...
- 【Android】Android中AlertDialog对话框的使用实例
package com.ceac.deng; import android.R.string; import android.support.v7.app.ActionBarActivity; imp ...
- Android 自定义AlertDialog退出对话框
Android 自定义AlertDialog退出对话框 转 https://blog.csdn.net/wkh11/article/details/53081634在项目中很多时候会出现点击返回键出现 ...
- 家庭记账本app进度之android中AlertDialog的相关应用以及对日期时间的相关操作(应用alertdialog使用的谈话框)
对于AlertDialog的相关知识: 1.创建构造器AlertDialog.Builder的对象: 2.通过构造器对象调用setTitle.setMessage.setIcon等方法构造对话框 ...
- (原)android的alertdialog中加入edittext但是不弹出软键盘等问题的解决与原因
摘要:alertdialog中加入edittext但是不弹出软键盘等问题网上有很多不管用的解决方案, 本文意在给出更有效的解决办法,并初步探究其原因 正文 在对话框中插入文本框是十分常见的需求 通常我 ...
- Android设置AlertDialog点击按钮对话框不关闭(转)
(转自:http://blog.csdn.net/winson_jason/article/details/8485524) 当我们在用到Android alertDialog创建对话框 的时候,我们 ...
- Android:AlertDialog对话框
1.简单的ALertDialog: Dialog alertDialog = new AlertDialog.Builder(this) .setTitle("标题") .setM ...
随机推荐
- C# 发送HttpWebRequest获得网络图片的大小、尺寸
可以通过HttpWebRequest的方式发送一个网络图片的请求,再通过HttpWebResponse接收返回的数据,分析数据流得到图片的大小以及尺寸,代码如下: /// <summary> ...
- iOS语音
<span style="white-space:pre"> </span>语音技术近来可是出遍了风头,从iphone4s的siri,到微信的语音聊天 ...
- reversing-Easy Crack
Easy Crack 程序启动后输入任意字符会显示一个MessageBox的Incorrect Password. 打开OllyDbg,载入程序后查找到目标字符串Incorrect Password, ...
- C++学习进度0
昨天,又把<C++ primer> 刷了一遍,这一次看的是陈硕大大的评注版,重点看了陈硕的注释,<Accelerated C++>去年就把代码巧了一遍,<C++ prim ...
- Maven搭建SSH环境
一.新建maven项目 选中maven-aechetype-webapp group Id一般为公司域 :Artifact Id相当于项目名称 :version不需要更改:Package不使用默认,手 ...
- Spring Shedule Task之注解实现 (两次启动Schedule Task 的解决方案)
在spring 中的新引入的task 命名空间.可以部分取代 quartz 功能,配置和API更加简单,并且支持注解方式. 第一步: 在Spring的相关配置文件中(applicationContex ...
- 上传自己的Python代码到PyPI
一.需要准备的事情 1.当然是自己的Python代码包了: 2.注册PyPI的一个账号. 二.详细介绍 1.代码包的结构: application \application __init__.py m ...
- MFC-01-Chapter01:Hello,MFC---1.3 第一个MFC程序(01)
#include <afxwin.h> class CMyApp : public CWinApp { public: virtual BOOL InitInstance(); }; cl ...
- android-oldman之TitleBar
随着大众口味的不断提高,对app要的开发的要求也不断提高,开发人员们要在app上展示的东西安也越来越多,android早期的一些控件慢慢的不不能满足开发的要求了,比如TitleBar的应用的就没有原来 ...
- play(1) 第一个简单的应用
去年去了一家公司,公司要求要回使用play,所以在几天的时间内猛学习了一段时间play,发现play!有很多优点:简单,小巧,高开发效率,集成很多功能,容易调试.现在虽然已经不在那家公司,没有使用pl ...