Dialog使用问题集

记录使用Dialog时出现的问题

1.部分手机出现显示不全

需求:横屏时右侧显示对话框,对话框高度占满高度
原代码

   		Window window = getWindow();
        if (window != null) {
            WindowManager.LayoutParams params = window.getAttributes();
            params.gravity = Gravity.END;
            params.height = ViewGroup.LayoutParams.MATCH_PARENT;
            params.width = (int) (screenHeight * 0.4f);
            window.setAttributes(params);
        }

在魅族metal上显示没问题,如下图
Dialog使用问题集
但是在OPPO上顶部显示不全,如下图
Dialog使用问题集
解决方式,通过添加WindowManager.LayoutParams.FLAG_FULLSCREEN标志

		Window window = getWindow();
        if (window != null) {
            WindowManager.LayoutParams params = window.getAttributes();
            params.gravity = Gravity.END;
            params.height = ViewGroup.LayoutParams.MATCH_PARENT;
            params.width = (int) (screenHeight * 0.4f);
            // 解决显示不全问题
            params.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN;
            window.setAttributes(params);
        }

设置以后恢复正常
Dialog使用问题集