1. 程式人生 > >Android中彈出PopupWindow讓螢幕變暗

Android中彈出PopupWindow讓螢幕變暗

    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)