Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Android开发中Dialog半透明背景消失大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

近日,遇到一个Dialog半透明背景消失的问题,背景需求是自定义Dialog实现警告提示框:

// 初始化警告弹出框 
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);

进行页面操作及用户提示,一切@L_696_7@正常,如图:

Android开发中Dialog半透明背景消失

当按下屏幕电源按钮,再次点亮屏幕,发现Dialog半透明的灰暗背景消失了.....

Android开发中Dialog半透明背景消失

解决方法:设置window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);修改后如下:

// 初始化警告弹出框 
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半透明背景消失所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。