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


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

    注:代码进行了整理

    在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() {
    往往会报错,详细·····
    我是刚刚进入公司的Android实习生,菜鸟一枚,博客记录我犯过的错,收获的东西,学到的知识和技术,可能里面会有很多错误的地方,幼稚的地方,欢迎大家指出来,帮助我进步,但请别伤害我,我只是菜鸟一枚,我在努力争取进步。
  • 相关阅读:
    20145229 《信息安全系统设计基础》第1周学习总结
    20145229吴姗珊 《信息安全系统设计基础》第0周学习总结
    20145229吴姗珊 《Java程序设计》课程总结
    20145229 《Java程序设计》第10周学习总结
    20145229吴姗珊第五次实验报告
    20145229《Java程序设计》第四次实验报告
    20145229吴姗珊 《Java程序设计》第9周总结
    20145229实验三实验报告——敏捷开发与XP实践
    20145229吴姗珊 《Java程序设计》第8周学习总结
    20145229吴姗珊 《Java程序设计》2天小总结
  • 原文地址:https://www.cnblogs.com/smilefortoday/p/3977412.html
Copyright © 2020-2023  润新知