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);

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

当按下屏幕电源按钮,再次点亮屏幕,发现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半透明背景消失,希望对大家有所帮助,如果大家有任何疑问,欢迎给我留言,小编会及时回复大家的!

时间: 2024-10-28 21:53:18

Android开发中Dialog半透明背景消失的相关文章

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

近日,遇到一个Dialog半透明背景消失的问题,背景需求是自定义Dialog实现警告提示框: // 初始化警告弹出框 alertDialog = new EmpAlertView(context, Utils.getIdByName(context, "style", "alert_style")); alertDialog.setCanceledOnTouchOutside(false); LayoutInflater inflater = (LayoutInfl

深入解读Android开发中Activity的生命周期_Android

什么是Activity       首先,Activity是Android系统中的四大组件之一,可以用于显示View.Activity是一个与用记交互的系统模块,几乎所有的Activity都是和用户进行交互的,但是如果这样就能说Activity主要是用来显示View就不太正确了.        在深入了解Activity之前,我们先要知道一下MVC设计模式,在JAVAEE 中MVC设计模式已经很经典了,而且分的也比较清晰了,但是在Android中,好多人对MVC在Android开发中的应用不是很

android开发-在Android开发中打开网络设置出错,点击后直接退出而不是打开网络设置 怎么会事啊

问题描述 在Android开发中打开网络设置出错,点击后直接退出而不是打开网络设置 怎么会事啊 private void showSetNetworkDialog() { AlertDialog.Builder builder = new Builder(this); builder.setTitle("设置网络"); builder.setMessage("网络错误请检查网络链接"); builder.setPositiveButton("设置网络&qu

android-安卓的开发中动态图片背景的设计

问题描述 安卓的开发中动态图片背景的设计 请问大牛,如何在控件背景上添加动态图片,例如gif 格式的图片怎么作为控件背景使用!? 解决方案 写一个自定义的gifView继承View用于播放gif图片http://www.open-open.com/lib/view/open1423121900389.html 解决方案二: 你可以用一组图片,用代码来循环切换,达到动画效果. 解决方案三: 使用android显示动态Gif图片:http://blog.sina.com.cn/s/blog_73c5

Android开发中,那些让你相见恨晚的方法、类或接口

PS:本文内容来自我在知乎上对Android开发中,有哪些让你觉得相见恨晚的方法.类或接口?这一问题的回答,目前就总结这些,日后若有新的发现,随时补充.欢淫点赞. getParent().requestDisallowInterceptTouchEvent(true);剥夺父view 对touch 事件的处理权,谁用谁知道. ArgbEvaluator.evaluate(float fraction, Object startValue, Object endValue); 用于根据一个起始颜色

Android开发中实现IOS风格底部选择器(支持时间 日期 自定义)_Android

本文Github代码链接 https://github.com/AndroidMsky/AndoirdIOSPicker 先上图吧: 这是笔者最近一个项目一直再用的一个选择器库,自己也在其中做了修改,并决定持续维护下去. 先看使用方法: 日期选择: private void showDateDialog(List<Integer> date) { DatePickerDialog.Builder builder = new DatePickerDialog.Builder(this); bui

Android开发中Activity之间切换出现短暂黑屏的解决方法_Android

本文实例讲述了Android开发中Activity之间切换出现短暂黑屏的解决方法.分享给大家供大家参考,具体如下: 在默认情况下,Android应用程序启动时,会有一个黑屏的时期,原因是,首个activity会加载一些数据,比如初始化列表数据.向服务器发送请求获取数据等等.同样,使用startActivity(inte -- 在默认情况下,Android应用程序启动时,会有一个黑屏的时期,原因是,首个activity会加载一些数据,比如初 始化列表数据.向服务器发送请求获取数据等等.同样,使用s

Android开发中的简单设置技巧集锦_Android

本文实例总结了Android开发中的简单设置技巧.分享给大家供大家参考,具体如下: 1开机图片: android-logo-mask.png android-logo-shine.png 这两个图片一个在上一个在下 ./out/target/common/obj/JAVA_LIBRARIES/android_stubs_current_intermediates/classes/assets/images/android-logo-shine.png ./frameworks/base/core

Android开发中在TableView上添加悬浮按钮的方法_Android

如果直接在TableVIewController上贴Button的话会导致这个会随之滚动,下面解决在TableView上实现位置固定悬浮按钮的两种方法: 1.在view上贴tableView,然后将悬浮按钮贴在view的最顶层 2.使用window 首先看一下最终的效果,在tableViewController上添加一个悬浮按钮,该按钮不能随着视图的滚动而滚动 首先介绍上面的第一种方法: 1)创建tableview和底部按钮的属性 //屏幕宽 #define kScreenW [UIScreen