自定义AlertDialog在android-7.0上距离屏幕边界margin无法消除问题

项目中用到拍照选择图片功能,选择图片弹窗用的是自定义AlertDialog。这个没什么难度。UI要求 对话框宽度铺满,底部在屏幕底部,无margin和padding。这个是实现起来挺简单的。想着布局里边不加margin和padding不久ok了

       但是在自己手机小米5(android-7.0版本)安装看了下(顺带说一下小米5  在7.0版本下竟然不能连接androidstudio安装调试应用,这个有点扯),竟然有一块区域无法充满。如下图:



      后来和同事讨论会不会是AlertDialog默认主题的原因。

WindowManager m = getWindow().getWindowManager();
        Display d = m.getDefaultDisplay(); // 获取屏幕宽、高用
        WindowManager.LayoutParams p = getWindow().getAttributes();
        p.width = (int) (d.getWidth()); // 宽度设置为屏幕的k宽
//        if(height > 0){
//            p.height = (int) (d.getHeight() * height);
//        }
       p.horizontalMargin = 0.0f;
        p.verticalMargin = 0.0f;



尝试了如上代码,还是没能解决问题。

 getWindow().setBackgroundDrawable(null);


再次尝试把dialog窗口
BackgroundDrawable
制空发现可行。最终结果如图:











  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值