Android修改源码解决Alertdialog触摸对话框边缘消失的问题

   2015-07-25 0
核心提示:在开发的时候遇到一个问题,就是一触摸对话框边缘外部,对话框会自动消失。这个问题很纠结啊,查找了一下发现从Android 4.0开始,AlertDialog有了变化,就是在触摸对话框边缘外部,对话框会自动消失,查了源码,找到解决办法如下

研究其父类时候发现,可以设置这么一条属性,在AlertDialog.Builder.create()之后才能调用这两个方法

方法一:

setCanceledOnTouchOutside(false);调用这个方法时,按对话框以外的地方不起作用。按返回键还起作用

方法二:

setCanceleable(false);调用这个方法时,按对话框以外的地方不起作用。按返回键也不起作用

这两个方法都属于Dialog方法,可查阅源码

修改后的源码如下:

复制代码 代码如下:

case 1:
                    dismissDialog(1);
                    new Builder(SplashActivity.this).setTitle("提示").setCancelable(false)
                            .setMessage("获取软件初始化信息失败!\n请检查网络是否通畅。")
                            .setPositiveButton("确认", new OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialog, int which) {
                                    dialog.dismiss();
                                    SplashActivity.this.finish();
                                }
                            }).show();

                    break;

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

点击排行