Android提供的对话框


 

1、普通对话框:

给出提示信息,有yes、no两个按钮。

 

 1 AlertDialog dialog=new AlertDialog.Builder(this)  //this代表当前Activity对象,表示此对话框属于当前Activity对象。也可用  类名.this  指定为其它的Activity对象
 2                 .setPositiveButton("确定",null)   //要加的按钮必须放在create()之前
 3                 .setNegativeButton("取消",null)   //第一个参数是按钮上的文本,第二个是监听器OnClickListener,可设置为null,点击时退出对话框
 4                 .setTitle("提示")   //标题
 5                 .setMessage("是否退出?")   //提示信息
 6                 .setIcon(R.drawable.a)   //图标,只能是R.xxx.yyy的形式
 7                 .create();   //不用create(),直接show()也行
 8 
 9         //标题、提示信息、图标也可以后面再设置
10         //dialog.setTitle("提示");
11         //dialog.setMessage("是否退出");
12         //dialog.setIcon(R.drawable.a);
13 
14         dialog.show();  //显示对话框
15         //dialog.hide();   //隐藏对话框

 

 

所有对话框都有   setTitle()、setMessage()、setIcon()、show()、hide()的方法。

其中 setTitle()、setMessage()、setIcon()既可以在create()之前使用,也可以在create()创建对话框后再使用。

 

 

 

 

2、单选对话框

 

1 AlertDialog dialog=new AlertDialog.Builder(this)
2                 .setTitle("请选择性别")  
3                 .setIcon(R.drawable.a)  
4                 ////设置一组单选按钮,第一个参数是String数组,第二参数设置默认选中的项(数组下标),第三个参数单选按钮的监听器
5                 .setSingleChoiceItems(new String[]{"男","女"},0,null)
6                 .show();   //不用create(),直接show()也行

 

 

 

 

3、多选对话框

 

1 AlertDialog dialog=new AlertDialog.Builder(this)
2                 .setTitle("请选择爱好")   
3                 .setIcon(R.drawable.a)   4                 //设置一组多选按钮,第一个参数是String数组,第二参数boolean数组,true表示该项默认选中,第三个参数是监听器
5                 .setMultiChoiceItems(new String[]{"读书","运动","旅游"},new boolean[]{true,true,false},null)
6                 .show();   

 

 

 

 以上三种对话框中用到的事件监听:

1 new DialogInterface.OnClickListener() {
2     @Override
3     public void onClick(DialogInterface dialogInterface, int i) {
4       //i代表当前按钮的编号
5     }
6 }

普通对话框中,这个事件监听是某个按钮的事件监听。

单选/多线对话框中,这个事件监听是每个选项的事件监听,即点击一个选项,就会触发事件一次。

 

 

普通对话框、单选对话框、多选对话框都是AlertDialog。进度条对话框是ProgressDialog。

 

 

 

 

4、进度条对话框

当程序在进行耗时的操作时(比如下载文件),可以用进度条对话框来显示进度。

进度条有2种样式:

 

                         

 

     水平进度条                                                圆形进度条(圆圈会一直转动)

 

1 ProgressDialog dialog=new ProgressDialog(this);   //注意用法有点不同,没有Builder()
2         dialog.setTitle("下载进度");   //注意ProgressDialog的方法都只能单独写,不能在创建ProgressDialog对象时写在后面
3         dialog.setIcon(R.drawable.a);
4         dialog.setMessage("正在下载请稍后");  //文本可用setMessage()动态修改,显示当前的具体操作
5         dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);   //设置进度条样式
6         dialog.show();

 

 

 

 

5、消息对话框

消息对话框(Toast)是轻量级消息提醒机制,用于向用户显示即时消息。

Toast对话框显示在程序界面的最上层(最前面),显示一段时间后自动消失,不会打断当前操作,也不会获取焦点,只起到提示作用。

 

1 //makeText()是Toast类的静态方法。
2 //第一个参数指定消息对话框所属的Activity,可用Activity类名.this指定其他的,第二个参数指定提示文本,第三个参数是Toast类的预定义常量,指定显示时间的长短。
3 //要调用show()才会显示。
4   Toast.makeText(this,"电量不足10%!",Toast.LENGTH_LONG).show();

 


作者:chenhongyong,发布于:2019/05/16
原文:https://www.cnblogs.com/chy18883701161/p/10872209.html