时间:2021-05-20
近日,遇到一个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);进行页面操作及用户提示,一切显示正常,如图:
当按下屏幕电源按钮,再次点亮屏幕,发现Dialog半透明的灰暗背景消失了.....
解决方法:设置window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);修改后如下:
// 初始化警告弹出框 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); // 防止按下再重新开启屏幕电源,原先变暗的背景变白色 window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); alertDialog.setContentView(layout);以上所述是小编给大家介绍的Android开发中Dialog半透明背景消失,希望对大家有所帮助,如果大家有任何疑问,欢迎给我留言,小编会及时回复大家的!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
DIV背景半透明,DIV中的字不半透明复制代码代码如下:图层背景半透明,字体颜色也半透明复制代码代码如下:图层背景半透明,字体颜色不半透明*******带fil
本文实例讲述了Android编程实现设置按钮背景透明与半透明及图片背景透明的方法。分享给大家供大家参考,具体如下:Button或者ImageButton的背景设
本文实例讲述了Android编程实现popupwindow弹出后屏幕背景变成半透明效果的方法。分享给大家供大家参考,具体如下:android中popupwind
一、网页背景半透明网页背景半透明复制代码代码如下:opacity:0.8;filter:"progid:DXImageTransform.Microsoft.A
本文实例讲述了Android实现在列表List中显示半透明小窗体效果的控件用法。分享给大家供大家参考,具体如下:Android在列表List中显示半透明小窗体效