Android提供的对话框
程序员文章站
2023-01-21 09:10:50
1、普通对话框: 给出提示信息,有yes、no两个按钮。 所有对话框都有 setTitle()、setMessage()、setIcon()、show()、hide()的方法。 其中 setTitle()、setMessage()、setIcon()既可以在create()之前使用,也可以在crea ......
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();
推荐阅读
-
android网络框架对比(自带root权限的框架)
-
多种方法去掉打开文件时的安全警告对话框
-
Android studio查看本地变更历史history的方法
-
Android ProgressBar直线进度条的实例代码
-
Android的App启动时白屏的问题解决办法
-
Android编程实现全局获取Context及使用Intent传递对象的方法详解
-
Android studio从Github克隆下载源代码并导入的教程
-
Android ListView列表控件的介绍和性能优化
-
Android studio使用git代码追溯到上个文件的教程?
-
Android中修改TabLayout底部导航条Indicator长短的方法