一、前言:
正常的Dialog弹窗出现时,背景都会有一层黑色半透明的遮罩,去掉的方法有两种。
如下图所示:
![](https://img.haomeiwen.com/i11268516/ffb07ab0f2cd658c.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
网友评论