
近日,遇到一个Dialog半透明背景消失的问题,背景需求是自定义Dialog实现警告提示框:
// 初始化警告d出框 alertDialog = new EmpAlertVIEw(context,Utils.getIDByname(context,"style","alert_style")); alertDialog.setCanceledOntouchOutsIDe(false); LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); layout = inflater.inflate(Utils.getIDByname(context,"layout","alertvIEw"),null); layout.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT)); // 设置半透明背景 Window window = alertDialog.getwindow(); WindowManager.LayoutParams lp = window.getAttributes(); lp.Alpha = 0.9f; window.setAttributes(lp); alertDialog.setContentVIEw(layout);
进行页面 *** 作及用户提示,一切显示正常,如图:
当按下屏幕电源按钮,再次点亮屏幕,发现Dialog半透明的灰暗背景消失了.....
解决方法:设置window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);修改后如下:
// 初始化警告d出框 alertDialog = new EmpAlertVIEw(context,LayoutParams.WRAP_CONTENT)); Window window = alertDialog.getwindow(); WindowManager.LayoutParams lp = window.getAttributes(); lp.Alpha = 0.9f; window.setAttributes(lp); // 防止按下再重新开启屏幕电源,原先变暗的背景变白色 window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); alertDialog.setContentVIEw(layout);
以上所述是小编给大家介绍的AndroID开发中Dialog半透明背景消失,希望对大家有所帮助,如果大家有任何疑问,欢迎给我留言,小编会及时回复大家的!
总结以上是内存溢出为你收集整理的Android开发中Dialog半透明背景消失全部内容,希望文章能够帮你解决Android开发中Dialog半透明背景消失所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)