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