Android Dialog去掉默认的黑色背景效果

一、前言:

正常的Dialog弹窗出现时,背景都会有一层黑色半透明的遮罩,去掉的方法有两种。
如下图所示:


弹窗.png

方法一:

//核心代码 解决了无法去除遮罩问题
dialog.getWindow().setDimAmount(0f);

方法二:

1:在res/values/styles.xml中自定义dialog的style

<style name="MyDialogStyle" parent="Base.Theme.AppCompat.Light.Dialog">
      
        <!--<item name="android:windowFrame">@null</item>-->
        <!--是否浮在窗口之上-->
        <item name="android:windowIsFloating">true</item>
        <!--半透明-->
        <item name="android:windowIsTranslucent">true</item>
        <!--是否显示title-->
        <item name="android:windowNoTitle">true</item>
        <!--dialog之外没有焦点的区域是否罩上黑色半透明 主要是这个地方false表示不要遮罩-->
        <item name="android:backgroundDimEnabled">false</item>
    </style>

2:创建Dialog时使用自定义的style

 final MyDialog dialog = new MyDialog(context,R.style.MyDialogStyle);

注意:没有效果的话,可以把方法一和方法二结合起来使用。


参考:https://blog.csdn.net/u012588276/article/details/107028113

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。