如何移除Material Dialog外部深色背景?无法调用setDimAmount方法求方案
移除Material Dialog外部灰色背景的解决方案
方法一:直接设置Window的DimAmount
确保在Dialog构建完成后、显示前调用setDimAmount(0f),0值会完全移除外部灰色遮罩:
MaterialDialog dialog = new MaterialDialog.Builder(context) // 添加你的Dialog配置(如标题、内容、按钮等) .build(); dialog.getWindow().setDimAmount(0f); dialog.show();
方法二:通过自定义主题实现
在res/values/styles.xml中定义一个禁用背景遮罩的主题:
<style name="NoDimMaterialDialogTheme" parent="Theme.MaterialComponents.Dialog"> <item name="android:backgroundDimEnabled">false</item> </style>
创建Dialog时指定该主题:
MaterialDialog dialog = new MaterialDialog.Builder(context, R.style.NoDimMaterialDialogTheme) // 配置Dialog内容 .build(); dialog.show();
方法三:针对MaterialAlertDialogBuilder的处理
如果使用的是AndroidX的MaterialAlertDialogBuilder,同样可以通过Window属性移除遮罩:
MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(context); // 配置Dialog的标题、内容、按钮等 AlertDialog dialog = builder.create(); dialog.getWindow().setDimAmount(0f); dialog.show();
内容的提问来源于stack exchange,提问作者akLab
相关产品推荐
相关产品推荐

