设置的宽度和高度要是屏幕的宽度和高度才会完美展示对的动画…,苦苦的探索啊
关键代码已加注释
CustomDialog文件
public void onCreate(...){
...
Window window = getWindow();
if (null != window) {
// 动画
setAnimation(true, window);
WindowManager.LayoutParams lp = window.getAttributes();
int screenHeight = ScreenUtil.getScreenHeight();
// 解决高度上底部全面屏,navigationBar区域白边问题
lp.height = screenHeight;
RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) mCzbReactView.getLayoutParams();
if (gravity == Gravity.CENTER) {
lp.width = ViewGroup.LayoutParams.MATCH_PARENT;
layoutParams.removeRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
layoutParams.removeRule(RelativeLayout.CENTER_HORIZONTAL);
layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT);
} else {
lp.width = ViewGroup.LayoutParams.MATCH_PARENT;
layoutParams.removeRule(RelativeLayout.CENTER_IN_PARENT);
layoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
layoutParams.addRule(RelativeLayout.CENTER_HORIZONTAL);
}
window.setAttributes(lp);
}
...
}