Android使alertDialog.builder不会点击外面和按返回键消失的方法

Android使alertDialog.builder不会点击外面和按返回键消失的方法,第1张

概述这个问题之前一直困扰我,我的需求就是点击对话框外面和按返回键对话框不会消失,按返回键还好解决,拦截下返回键就OK了。

这个问题之前一直困扰我,我的需求就是点击对话框外面和按返回键对话框不会消失,按返回键还好解决,拦截下返回键就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("关闭",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:windowClo@R_419_6892@ntouchOutsIDe">false</item>  </style></resources>
YourActivity.this.setFinishOntouchOutsIDe(false);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

总结

以上是内存溢出为你收集整理的Android使alertDialog.builder不会点击外面和按返回键消失的方法全部内容,希望文章能够帮你解决Android使alertDialog.builder不会点击外面和按返回键消失的方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1147273.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存