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上显示没问题,如下图
但是在OPPO上顶部显示不全,如下图
解决方式,通过添加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);
}
设置以后恢复正常