AlertDialog使用

本文介绍了AlertDialog的五种常用布局及自定义布局方法,并探讨了解决自定义布局带来的黑边框问题,最后还讨论了如何禁用点击外部区域关闭对话框的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先讲讲几种常用的关于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);这样设置后按返回键也不起作用了,只有在本对话框中才能关闭对话框



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值