关于dialog显示全屏和正常问题解决

最近项目,需要用到 dialog 使用dialog 的时候却发现dialog全屏显示了,

才发现我这边的宽高参数设置成了

dialog.getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE);

最后改成

 Window dialogWindow = dialog.getWindow();
           dialogWindow.setBackgroundDrawable(mContext.getResources().getDrawable(android.R.color.transparent));
            WindowManager.LayoutParams lp = dialogWindow.getAttributes();
            dialogWindow.getDecorView().setPadding(30, 0, 30, 0); //消除边距
 lp.width = WindowManager.LayoutParams.MATCH_PARENT;
            lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
            dialogWindow.setAttributes(lp);
            dialog.setContentView(view, lp);

才解决问题,改完之后我又发现因为 宽度设置为了MATCH_PARENT 所以dialog 的宽度已经占满了屏幕宽度,于是给左右两边加了个边距:

dialogWindow.getDecorView().setPadding(30, 0, 30, 0); //消除边距

但是这个时候我又发现dialog 的整个背景都是黑色的,就再加了设置其背景颜色的方法,把背景设置成透明颜色,解决问题

dialogWindow.setBackgroundDrawable(mContext.getResources().getDraw
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
水晶蓝色的弹窗,兼容主流浏览器。提取自ZCMS的弹出框:代替window.open、window.alert、window.confirm;提供良好的用户体验;   水晶质感,设计细腻,外观漂亮;   兼容ie6/7/8、firefox2/3、Opera;弹出框在ie6下不会被select控件穿透;   无外部css文件,引用Dialog.js即可使用;   对iframe下的应用作了充分考虑,适合复杂的系统应用;   Dialog显示的内容(三种):1、指向一个URL的iframe窗口;2、页面内隐藏的元素中的html内容;3、直接输出一段html内容;   按ESC键可关闭弹出框;      主调函数参数说明:   Dialog.open({ID,Title,URL,InnerHtml,InvokeElementId,Width,Height,Top,Left,Drag,OKEvent,ShowButtonRow,   MessageTitle,Message,AutoClose,OnLoad})   ID:窗口id号,可省略。每个窗口的id必须是唯一的不能重复。   Title:窗口标题。如不写此项默认值为""。   URL: 窗口内容页地址,或使用相对路径或绝对路径,注意如果使用http://www.host.com形式的绝对地址,则http://不能省略。   InnerHtml: 窗口内容html代码,用于直接输出html内容,注意不要让生成的内容因为不适当的宽度或定位方式而破坏了Dialog的外观。   InvokeElementId: 本页面内隐藏的元素的id,用于显示页面内隐藏的元素中的html内容,注意不要让内容因为不适当的宽度或定位方式而破坏了Dialog的外观。   Width:窗口宽度(dialog内容区宽度),值为数值型,默认值为窗口可见宽的40%。   Height:窗口高度(dialog内容区高度),值为数值型,默认值为窗口可见宽的20%。   Left:窗口距浏览器左边距离,值为数值型或字符串型(当使用百分比时为字符串型),如Left:"0%",Top:"0%"为左上,Left:"50%",Top:"50%"为居中,Left:"100%",Top:"100%"为右下。   Top:窗口距浏览器顶端距离,值为数值型或字符串型(百分比)。   Drag:是否允许拖动窗口,值为布尔型(true|false),默认值为true,注意需要页面引用了Drag.js。   OKEvent:点击确定按钮后执行的函数。   CancelEvent:点击取消按钮或点击关闭按钮后执行的函数,默认为关闭本Dialog。   ShowButtonRow:是否不显示按钮栏,值为布尔型(true|false),默认值为false,当定义了OKEvent或调用了addButton时自动设为true。   MessageTitle,Message:自定义的窗口说明栏中的小标题和说明。   ShowMessageRow:是否显示窗口说明栏,值为布尔型(true|false),默认值为false,当定义了MessageTitle或Message时自动设为true。   AutoClose:是否自行关闭,值为数值型,默认值为false。   OnLoad:窗口内容载入完成后执行的程序,值为函数型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值