BottomSheetDialogFragment 在暗色主题下设置了错误的背景颜色

9

我最近在我的应用中添加了BottomSheetDialogFragment,但是在Material Dark主题下它的背景颜色显示为白色。即使使用

android:background="?android:attr/colorBackground"

对于对话框的根布局,它仍然是白色的(但这个属性在对话框外部是有效的)。有人遇到过这个问题吗?

2个回答

27
出现底部对话框的外观由名为 bottomSheetDialogTheme 的属性控制,它默认为 Theme.Design.Light.BottomSheetDialog。要实现黑色背景(以及白色文本、正确着色的控件等),您需要在活动主题中覆盖它:
<style name="YourActivityTheme" parent="...">
    <!-- ... -->

    <item name="bottomSheetDialogTheme">@style/Theme.Design.BottomSheetDialog</item>
</style>

谢谢您的回答,它帮助了我解决了我的问题。 - Hemanth S
1
谢谢!已接受!同时在浅色主题中设置<item name="bottomSheetDialogTheme">@style/Theme.Design.Light.BottomSheetDialog</item>以保持一致性。 - android_dev

2
我刚遇到了这个问题。我在对话框的根布局中使用了你提到的属性,这帮助了我。
android:background="?android:attr/colorBackground"

对我来说仍然是一样的。我使用我的自定义颜色属性解决了这个问题。 - android_dev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接