全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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);

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


# alertdialog不消失  # alertdialog  # 不关闭  # alertdialog消失  # Android开发实现Fragment监听返回键事件功能的方法  # Android 拦截返回键事件的实例详解  # Android 实现按两次返回键退出程序(两种方法)  # android PopupWindow点击外部和返回键消失的解决方法  # Android实现点击两次返回键退出  # Android开发返回键明暗点击效果的实例代码  # 对话框  # 这个问题  # 有个  # 两种  # 请先  # 人说  # 大家多多  # 您还没有  # 设置成  # 空白处  # 就行了  # 窗口化  # 模态  # 我看了  # 我想要  # showNoProject  # setMessage  # MainActivity 


相关文章: 如何规划企业建站流程的关键步骤?  ,南京靠谱的征婚网站?  建站之星后台管理:高效配置与模板优化提升用户体验  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  如何快速搭建二级域名独立网站?  建站主机服务器选型指南与性能优化方案解析  官网网站制作腾讯审核要多久,联想路由器newifi官网  如何登录建站主机?访问步骤全解析  如何高效完成自助建站业务培训?  免费制作小说封面的网站有哪些,怎么接网站批量的封面单?  已有域名和空间,如何快速搭建网站?  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?  免费视频制作网站,更新又快又好的免费电影网站?  大连网站设计制作招聘信息,大连投诉网站有哪些?  如何制作算命网站,怎么注册算命网站?  如何快速打造个性化非模板自助建站?  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  如何在橙子建站中快速调整背景颜色?  网站制作需要会哪些技术,建立一个网站要花费多少?  长沙做网站要多少钱,长沙国安网络怎么样?  实现虚拟支付需哪些建站技术支撑?  建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析  网站制作的方法有哪些,如何将自己制作的网站发布到网上?  建站主机如何安装配置?新手必看操作指南  安云自助建站系统如何快速提升SEO排名?  建站之星代理费用多少?最新价格详情介绍  建站之星Pro快速搭建教程:模板选择与功能配置指南  网站图片在线制作软件,怎么在图片上做链接?  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  香港服务器网站卡顿?如何解决网络延迟与负载问题?  ,购物网站怎么盈利呢?  香港服务器租用费用高吗?如何避免常见误区?  c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】  定制建站流程步骤详解:一站式方案设计与开发指南  如何在建站之星绑定自定义域名?  网站制作话术技巧,网站推广做的好怎么话术?  网站制作网站,深圳做网站哪家比较好?  建设网站制作价格,怎样建立自己的公司网站?  c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】  如何自定义建站之星网站的导航菜单样式?  网站建设制作、微信公众号,公明人民医院怎么在网上预约?  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?  网站制作企业,网站的banner和导航栏是指什么?  宝盒自助建站智能生成技巧:SEO优化与关键词设置指南  一键网站制作软件,义乌购一件代发流程?  建站之星如何实现网站加密操作?  三星网站视频制作教程下载,三星w23网页如何全屏? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。