Dialog宽度铺满屏幕

    window.setAttributes(lp);*/
        Window window = getWindow();
        window.setGravity(Gravity.BOTTOM);

// 把 DecorView 的默认 padding 取消,同时 DecorView 的默认大小也会取消
        window.getDecorView().setPadding(0, 0, 0, 0);
        WindowManager.LayoutParams layoutParams = window.getAttributes();
// 设置宽度
        layoutParams.width = WindowManager.LayoutParams.MATCH_PARENT;
        window.setAttributes(layoutParams);
// 给 DecorView 设置背景颜色,很重要,不然导致 Dialog 内容显示不全,有一部分内容会充当 padding,上面例子有举出
       

原理详细讲解

你可能感兴趣的:(Android)