AlertDialog简介
AlertDialog又叫警告对话框,是各种对话框中功能最丰富使用最广泛的一种,虽然翻译过来叫警告对话框,但作用却不仅仅只是警告。AlertDialog需要通过Builder类的实例调用create方法创建实例
Builder是AlertDialog的一个静态内部类,主要用于设置AlertDialog,部分方法与AlertDialog的方法功能一样
AlertDialog的基本方法
void show()方法 //调用此方法后显示当前引用所对应的对话框,同时DialogInterface.OnCancelListener被执行
void dismiss()方法 //关闭对话框,同时DialogInterface.OnCancelListener被执行
void setOnCancelListener(final OnCancelListener listener) //设置对cancel事件的监听器
void setOnDismissListener //设置对dismiss事件的监听器
设置AlertDialog的基本方法
setTitle(CharSequence title) //设置AlertDialog的标题
setIcon(int iconId) //设置AlertDialog的图标(在title的左边)
setMessage(CharSequence message) //设置AlertDialog的提醒信息
AlertDialog内置了三个按钮,分别是肯定(positive),否定(negative)和中立(neutral)
使用 setXxxButton方法(只能通过Builder实例调用)设置即可,需要传入字符串(按钮的文字)和一个按钮的监听器
为AlertDialog添加列表
并重写public void onClick(DialogInterface dialog, int which)方法
which为列表中被点击的行的索引 从零开始
为AlertDialog添加单选组
注:此方法需要使用Builder实例调用
为AlertDialog添加多选项
items是每个选项的名字,checkedItems是一个布尔数组用于指定每个选项的默认值,值为选中/非选中(true/false),
注:此方法需要使用Builder实例调用
自定义AlertDialog
主要步骤
①在res/layout下写好自定义的XML文件
②使用LayoutInflater类的方法inflate找到布局并加载,返回一个View对象
例View view= LayoutInflater.from(MainActivity.this).inflate(R.layout.login,null)
③使用setView方法将找到的View设置为Dialog的样式,同时也可可以通过之前找到的view对象来找到布局文件中的控件为其设置响应事件
inflate方法和findViewById的区别
LayoutInflater用来寻找res/layout/下的xml布局文件,并且实例化
findViewById是找xml布局文件下的具体widget控件(如Button、TextView等)
①对于一个没有被载入或者想要动态载入的界面,都需要使用LayoutInflater.inflate()来载入;
②对于一个已经载入的界面,就可以使用Activiyt.findViewById()方法来获得其中的控件。
本文详细介绍了AlertDialog的使用方法,包括基本操作、内置按钮设置、列表、单选或多选项的添加及自定义样式等内容。
460

被折叠的 条评论
为什么被折叠?



