Android中彈出PopupWindow讓螢幕變暗
阿新 • • 發佈:2019-01-02
Android開發中 經常碰到讓螢幕變暗的場景,特別是彈出一個對話方塊 或 彈出一個PopupWindow。彈出PopupWindow 的時候有的盆友會用一個半透明的match_parent的viewGroup 來佔據剩餘的空間來完成 這樣如果彈出有動畫的時候,就非常難看,體驗很不好。
這時候就可以用改變螢幕的亮度來實現變暗的效果。
具體程式碼:
改變Window的透明度的屬性
Window window=getWindow(); WindowManager.LayoutParams wl = window.getAttributes(); // wl.flags=WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;wl.alpha=0.6f; //這句就是設定窗口裡崆件的透明度的.0.0全透明.1.0不透明. window.setAttributes(wl);
建立一個PopupWindow的時候 ,經常會有這行程式碼
popupWindow.setBackgroundDrawable(new BitmapDrawable());
寫完後就會發現
new BitmapDrawable()這個方法是被廢棄掉的 對於有強迫症的程式設計師來說這看著太難受了
這時可以變成
new ColorDrawable(Color.TRANSPARENT)