Android开发中Dialog半透明背景消失
程序员文章站
2024-02-29 19:19:40
近日,遇到一个dialog半透明背景消失的问题,背景需求是自定义dialog实现警告提示框:
// 初始化警告弹出框
alertdialog = new em...
近日,遇到一个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半透明背景消失,希望对大家有所帮助
推荐阅读
-
Android开发中Dialog半透明背景消失
-
Android开发中Dialog半透明背景消失
-
Android 中自定义Dialog样式的Activity点击空白处隐藏软键盘功能(dialog不消失)
-
Android 开发之Dialog中隐藏键盘的正确使用方法
-
Android 开发之Dialog中隐藏键盘的正确使用方法
-
Android 中自定义Dialog样式的Activity点击空白处隐藏软键盘功能(dialog不消失)
-
JavaScript开发中父页面显示遮罩层弹出半透明状态的dialog
-
Android开发中的普通dialog实例解析
-
Android 中Dialog点击空白处會消失问题
-
JavaScript开发中父页面显示遮罩层弹出半透明状态的dialog