正常的Dialog弹窗出现时,背景都会有一层黑色半透明的遮罩,去掉的方法有两种。
方法一:
dialog.getWindow().setDimAmount(0f);
方法二:
1:在res/values/styles.xml中自定义dialog的style
<style name="MyDialogStyle" parent="Base.Theme.AppCompat.Light.Dialog">
<item name="android:windowAnimationStyle">@style/Base.Animation.AppCompat.Dialog</item>
<!--<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);