android学习总结(16.09.08)AlertDialog的简单用法
2016-09-08 16:30
381 查看
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添加列表
AlertDialog内部实现的ListView的功能,在外部只需通过Builder实例调用这个方法即可public Builder setItems(CharSequence[] items, final OnClickListener listener)
itmes为列表中每行的内容,listener为监听器
一般会实现DialogInterface.OnClickListener作为监听器
并重写public void onClick(DialogInterface dialog, int which)方法
which为列表中被点击的行的索引 从零开始
为AlertDialog添加单选组
AlertDialog内部同样也实现了RadioGroup的功能,在外部通过Builder实例调用这个方法即可public Builder setSingleChoiceItems(CharSequence[] items, int checkedItem,final OnClickListener listener)
items是每个单选项的名字,checkedItem是指默认被选中的选项,0代表第一个选项,以此类推
注:此方法需要使用Builder实例调用
为AlertDialog添加多选项
AlertDialog内部也通过CheckBox实现了多选选项的功能,外部通过Builder实例调用下面的方法即可使用此功能public Builder setMultiChoiceItems(CharSequence[] items, boolean[] checkedItems, final OnMultiChoiceClickListener listener)
items是每个选项的名字,checkedItems是一个布尔数组用于指定每个选项的默认值,值为选中/非选中(true/false),
注:此方法需要使用Builder实例调用
自定义AlertDialog
当AlertDialog自带的样式无法满足我们的需要时,就可能要使用自定义的AlertDialog了原理:自定义一个布局然后把它动态加载到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()方法来获得其中的控件。
相关文章推荐
- 总结Android之AlertDialog.Builder用法
- Android学习总结(十三) ———— ListView 简单用法
- Android学习记录(八) alertDialog和popupwindow简单实现
- Android Dialog用法总结
- Android UI学习 - 对话框 (AlertDialog & ProgressDialog)
- Android UI学习 - 对话框 (AlertDialog & ProgressDialog)
- Android动画学习Demo(2) 关于Property Animation的用法及总结
- Android应用开发学习笔记之AlertDialog对话框
- Android Dialog用法总结
- Android AlertDialog的用法
- android基础学习(6)-------AlertDialog.Builder提示对话框
- JavaAndAndroid程序学习之——关闭程序和AlertDialog中的button区别
- Android动画学习Demo(1) 关于ViewAnimation的用法及总结
- Android UI学习 - 对话框 (AlertDialog & ProgressDialog)
- Android学习:用户界面UI之AlertDialog
- Android UI学习 - 对话框 (AlertDialog & ProgressDialog) 推荐
- android-Handler基本用法学习总结
- Android AlertDialog学习
- android 简单列表对话框(AlertDialog.Builder().setItems())
- Android应用开发学习之AlertDialog对话框