欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android開發(fā)中Dialog半透明背景消失

 更新時間:2016年11月27日 15:36:17   作者:LVXIANGAN  
這篇文章主要介紹了Android開發(fā)中Dialog半透明背景消失的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下

近日,遇到一個Dialog半透明背景消失的問題,背景需求是自定義Dialog實現(xiàn)警告提示框:

// 初始化警告彈出框 
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)); 
// 設(shè)置半透明背景 
Window window = alertDialog.getWindow(); 
WindowManager.LayoutParams lp = window.getAttributes(); 
lp.alpha = 0.9f; 
window.setAttributes(lp); 
alertDialog.setContentView(layout);

進行頁面操作及用戶提示,一切顯示正常,如圖:

當按下屏幕電源按鈕,再次點亮屏幕,發(fā)現(xiàn)Dialog半透明的灰暗背景消失了.....

解決方法:設(shè)置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開發(fā)中Dialog半透明背景消失,希望對大家有所幫助,如果大家有任何疑問,歡迎給我留言,小編會及時回復(fù)大家的!

相關(guān)文章

最新評論