注:代码进行了整理
在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择。这些功能我们叫它Android Dialog对话框,在我们使用Android的过程中,我归纳了一下,Android Dialog的类型无非也就7种,下面我分别向大家介绍这7种Android Dialog对话框的使用方法,希望对大家能有所帮助。
1.该效果是当按返回按钮时弹出一个提示,来确保无误操作,采用常见的对话框样式。
1 //一般的Dialog
2 public void normalDialog(){
3 AlertDialog.Builder bulider =new Builder(MainActivity.this);
4 bulider.setIcon(R.drawable.ic_launcher);//在title的左边显示一个图片
5 bulider.setTitle("提示");
6 bulider.setMessage("你确定你要关掉它?");
7 bulider.setPositiveButton("确定", new DialogInterface.OnClickListener() {
8
9 @Override
10 public void onClick(DialogInterface dialog, int arg1) {
11 dialog.dismiss();
12 MainActivity.this.finish();
13
14 }
15 });
16 bulider.setNegativeButton("取消", new DialogInterface.OnClickListener() {
17
18 @Override
19 public void onClick(DialogInterface dialog, int arg1) {
20 // TODO Auto-generated method stub
21 dialog.dismiss();
22 }
23 });
24 bulider.create().show();
25
26 }
1 new AlertDialog.Builder(MachineRegister.this)
2 .setTitle("提示")
3 .setMessage("设备注册成功")
4 .setPositiveButton("确定",
5 new DialogInterface.OnClickListener() {
6
7 public void onClick(DialogInterface dialog,
8 int which) {
9 // TODO Auto-generated method
11
12 }
13 //当点击返回时,就停留在本界面
14 })
15 .setNegativeButton("返回",
16 new DialogInterface.OnClickListener() {
17
18 public void onClick(DialogInterface dialog,
19 int which) {
20
21 }
22
23
24 }).show();
2.改变了对话框的图表,添加了三个按钮
1 //三个按钮的对话框
2 public void sanDialog(){
3 AlertDialog.Builder bulider =new Builder(MainActivity.this);
4 bulider.setIcon(R.drawable.ic_launcher);//在title的左边显示一个图片
5 bulider.setTitle("提示");
6 bulider.setMessage("你确定你要关掉它?");
7 //最左边的按钮(positive :积极地)
8 bulider.setPositiveButton("确定", new DialogInterface.OnClickListener() {
9
10 @Override
11 public void onClick(DialogInterface dialog, int arg1) {
12 dialog.dismiss();
13 MainActivity.this.finish();
14
15 }
16 });
17 //最右边的钮(negative:消极的)
18 bulider.setNegativeButton("取消", new DialogInterface.OnClickListener() {
19
20 @Override
21 public void onClick(DialogInterface dialog, int arg1) {
22 // TODO Auto-generated method stub
23 dialog.dismiss();
24 }
25 });
26 //中间的钮
27 bulider.setNeutralButton("逗你玩", new DialogInterface.OnClickListener() {
28
29 @Override
30 public void onClick(DialogInterface arg0, int arg1) {
31 // TODO Auto-generated method stub
32
33 }
34 });
35 bulider.create().show();
36
37
38 }
3.信息内容是一个简单的View类型
1 //信息内容是一个简单的View类型
2 public void shuruDialog(){
3 AlertDialog.Builder builder =new Builder(MainActivity.this);
4 builder.setIcon(R.drawable.ic_launcher);
5 builder.setTitle("请输入");
6
7 //放进去任意简单的view
8 builder.setView(new EditText(this));
9 builder.setPositiveButton("确定", null);
10 builder.setNegativeButton("取消", null);
11
12 builder.create().show();
13 }
4.信息内容是一组单选框
1 //信息内容是单选框
2 public void danxuanDialog(){
3 AlertDialog.Builder builder =new Builder(MainActivity.this);
4 builder.setIcon(R.drawable.ic_launcher);
5 builder.setTitle("单选框");
6 //定义单选框
7 builder.setSingleChoiceItems(new String[]{"item1","item2"} ,0, new DialogInterface.OnClickListener() {
8
9 @Override
10 public void onClick(DialogInterface arg0, int arg1) {
11 //对选择项绑定事件
12
13 }
14 });
15 builder.setNegativeButton("取消", null);
16
17 builder.create().show();
18 }
5.信息内容是一组多选框
1 //信息内容是复选框
2 public void fuxuanDialog(){
3 AlertDialog.Builder builder =new Builder(MainActivity.this);
4 builder.setIcon(R.drawable.ic_launcher);
5 builder.setTitle("复选框");
6 //定义复选框
7 builder.setMultiChoiceItems(new String[]{"item1","item2"}, null, null);
8 builder.setPositiveButton("确定", null);
9 builder.setNegativeButton("取消", null);
10
11 builder.create().show();
12 }
6.信息内容是一组简单列表项
1 //信息内容是简单地列表项
2
3 public void liebiaoDialog(){
4 AlertDialog.Builder builder =new Builder(MainActivity.this);
5 builder.setIcon(R.drawable.ic_launcher);
6 builder.setTitle("列表项");
7 //定义复选框
8 builder.setItems(new String[]{"item1","item2"}, null);
9 builder.setPositiveButton("确定", null);
10 builder.setNegativeButton("取消", null);
11
12 builder.create().show();
13 }
7.信息内容是一个自定义的布局
dialog布局文件代码如下:
1 <?xml version="1.0" encoding="utf-8"?>
2
3 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
4 android:layout_height="wrap_content" android:layout_width="wrap_content"
5 android:background="#ffffffff" android:orientation="horizontal"
6 android:id="@+id/dialog">
7 <TextView android:layout_height="wrap_content"
8 android:layout_width="wrap_content"
9 android:id="@+id/tvname" android:text="姓名:" />
10 <EditText android:layout_height="wrap_content"
11 android:layout_width="wrap_content" android:id="@+id/etname" android:minWidth="100dip"/>
12 </LinearLayout>
创建dialog方法的代码如下:
LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.dialog,
(ViewGroup) findViewById(R.id.dialog));
new AlertDialog.Builder(this).setTitle("自定义布局").setView(layout)
.setPositiveButton("确定", null)
.setNegativeButton("取消", null).show();
好了,以上7种Android dialog对话框的使用方法就介绍到这里了,基本都全了,如果大家在android开发过程中遇到dialog的时候就可以拿出来看看。
注意:在使用dialog增加按钮选项的时候,
bulider.setPositiveButton("确定", new DialogInterface.OnClickListener() {
应该是红色字体部分,而写成:
bulider.setPositiveButton("确定", new OnClickListener() {
往往会报错