欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android提供的对话框

程序员文章站 2023-01-21 09:10:50
1、普通对话框: 给出提示信息,有yes、no两个按钮。 所有对话框都有 setTitle()、setMessage()、setIcon()、show()、hide()的方法。 其中 setTitle()、setMessage()、setIcon()既可以在create()之前使用,也可以在crea ......

 

1、普通对话框:

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

Android提供的对话框

 

 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、单选对话框

Android提供的对话框

 

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、多选对话框

Android提供的对话框

 

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种样式:

 

Android提供的对话框                         Android提供的对话框

 

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

 

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

Android提供的对话框

 

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