AlertDialog使用

来源:互联网 发布:mysql front 乱码 编辑:程序博客网 时间:2024/06/08 02:22

先讲讲几种常用的关于AlertDialog的布局

第一种就是使用alertDialog自带的布局,自带布局有5中分别用于

一、简单的AlertDialog(只显示一段简单的信息,比如about us)

二、带按钮的AlertDialog(显示提示信息,让用户操作,比如exit时的警告框)

三、类似ListView的AlertDialog(展示内容,比如某人的一些注册信息)

四、类似RadioButton的AlertDialog(让用户选择,单选)

五、类似CheckBox的AlertDialog(让用户多选)

第二种就是使用自定义的布局,当然自定义布局肯定可以满足自带布局的需求,自定义布局的目的是实现对话框多样化,让你的对话框更融入当前环境中,使用布局的时候将自定义的布局通过setView这个方法将自定义布局绑定当前AlertDialog,这样做有一个确定就是可能在有些手机上出现黑边框的现象,这是应为当前的AlertDialog的window搞得鬼,其实setView这个方法最终还是听window设置的只不过这样做是把布局添加到window中,而window本身布局背景是黑色的,所以也就出现了黑边框,既然知道是window搞得鬼,那么解决这个黑边框的方法也就有了,1设置window的本源布局为我们所定义的布局,通过方法window的setContentView方法设置,当然需要先拿到window,2拿到window的布局设置布局背景颜色。

通过上面大家应该可以定义出各式各样的对话框了。

但是这样是不能满足需求的,目前定义的对话框按其他非对话框处对话框会消失,怎么做不让他消失呢。

 1 通过setCanceledOnTouchOutside(false);这样设置了以后按其他非对话框处就不会消失了,但是返回键还是起作用的

 2 通过setCancelable(false);这样设置后按返回键也不起作用了,只有在本对话框中才能关闭对话框



0 0