1. 程式人生 > >Android底部彈出PopupWindow被選單欄遮擋問題以及窗體亮度設定

Android底部彈出PopupWindow被選單欄遮擋問題以及窗體亮度設定

Android手機大多數都有底部選單欄,在我們設定底部彈出popupwindow時會遇到被選單欄遮擋的問題,如下圖(華為P8):

小叉叉被擋住了
我們只需新增一行程式碼即可解決:

mPopWindow.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
我們在彈出popupwindow時也希望像dialog一樣視窗其他部分變暗,我們可以獲取視窗屬性設定其ALPHA值:
WindowManager.LayoutParams params = getWindow().getAttributes
(); params.alpha = 0.3f; getWindow().setAttributes(params);
在popupwindow隱藏時,窗體再恢復原來亮度,可以設定popupwindow的隱藏監聽恢復窗體亮度:
mPopWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
            @Override
            public void onDismiss() {
                WindowManager.LayoutParams params
= getWindow().getAttributes(); params.alpha = 1f; getWindow().setAttributes(params); } });