Android Dialog对话框的七种形式的使用

参考资料:http://www.oschina.net/question/54100_32486

注:代码进行了整理

在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择。这些功能我们叫它Android Dialog对话框,在我们使用Android的过程中,我归纳了一下,Android Dialog的类型无非也就7种,下面我分别向大家介绍这7种Android Dialog对话框的使用方法,希望对大家能有所帮助。

1.该效果是当按返回按钮时弹出一个提示,来确保无误操作,采用常见的对话框样式。

 Android Dialog对话框的七种形式的使用

 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.改变了对话框的图表,添加了三个按钮

Android Dialog对话框的七种形式的使用

 

 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类型

Android Dialog对话框的七种形式的使用

 

 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.信息内容是一组单选框

Android Dialog对话框的七种形式的使用

 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.信息内容是一组多选框

Android Dialog对话框的七种形式的使用

 

 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.信息内容是一组简单列表项

Android Dialog对话框的七种形式的使用

 

 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.信息内容是一个自定义的布局

Android Dialog对话框的七种形式的使用

 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() {
往往会报错,详细·····

 

你可能感兴趣的:(android)