Android使alertDialog.builder不会点击外面和按返回键消失的方法
这个问题之前一直困扰我,我的需求就是点击对话框外面和按返回键对话框不会消失,按返回键还好解决,拦截下返回键就OK了。
但是点击外面不好解决。之前有人说模态对话框,我看了一会,觉得不是我想要的效果。popWindow的话,必须提供父view.
重新看下api,发现设置setCancelable属性就行了。
如:
public void showNoProject(){ Builder builder = new AlertDialog.Builder(MainActivity.this) .setMessage("您还没有项目,请先添加项目") .setPositiveButton("去添加项目", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }) .setNegativeButton("关闭", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); builder.setCancelable(false); builder.show(); }
还有另外两种实现方法
一、在oncreate()方法中设置Dialog点击屏幕不可取消,实例代码如下:
@Override public void onCreate(Bundle icicle) { super.onCreate(icicle); this.setCancelable(false);// 设置点击屏幕Dialog不消失 int style = DialogFragment.STYLE_NORMAL, theme = 0; setStyle(style,theme); }
二、将Activity设置成窗口的样式实现Dialog或者Popupwindow效果在开发中是很常用的一种方式,在AndroidMenifest.xml中将需要设置的Activity增加android:theme="@android:style/Theme.Dialog"属性即可。但是窗口化的Activity有个问题就是:点击窗口空白处Activity会finish。如何避免这个问题呢,办法如下:
1、resvaluesstyles.xml
<resources> <style name="Theme.SoundRecorder" parent="@android:style/Theme.Holo.DialogWhenLarge"> <item name="android:windowCloseOnTouchOutside">false</item> </style> </resources>
YourActivity.this.setFinishOnTouchOutside(false);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
Android水波纹载入控件CircleWaterWaveView使用详解
这篇文章主要为大家详细介绍了Android水波纹载入控件CircleWaterWaveView使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2019-01-01Android自定义带增长动画和点击弹窗提示效果的柱状图DEMO
这篇文章主要介绍了Android自定义带增长动画和点击弹窗提示效果的柱状图的相关资料,非常不错具有一定的参考借鉴价值,需要的朋友可以参考下2016-11-11Android开发教程之Fragment定义、创建与使用方法详解【包含Activity通讯,事务执行等】
这篇文章主要介绍了Android开发教程之Fragment定义、创建与使用方法,详细介绍了Fragment的概念、功能、定义、创建及使用方法,包括Fragment与Activity通讯,Fragment事务执行及Fragment应用示例等,需要的朋友可以参考下2017-11-11详解React Native监听Android回退按键与程序化退出应用
这篇文章主要介绍了详解React Native监听Android回退按键与程序化退出应用的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下2017-09-09android studio 使用Mocklocation虚拟定位
这篇文章主要介绍了android studio 使用Mocklocation虚拟定位总结,本文分步骤给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2019-12-12
最新评论