使用MaterialComponents主题后的BottomSheet样式

时间:2019-03-13 06:42:36

标签: android material-design android-styles bottom-sheet material-components-android

最近我切换为使用com.google.android.material:material:1.0.0作为应用主题。

除了设置colorPrimarycolorPrimaryDarkcolorAccent并使用MaterialButtonWidget.MaterialComponents.Button样式外,活动/片段和bottomSheetFragment中的按钮在颜色上也不同!

“活动/片段”中的

正常。但在BottomSheet中具有不同的颜色(绿色)。

enter image description here

1 个答案:

答案 0 :(得分:1)

我找到了解决此问题的技巧:

为BottomSheetDialogFragment定义新样式:

 <style name="BaseBottomSheetDialog" parent="@style/Theme.MaterialComponents.Light.BottomSheetDialog">
        <item name="colorPrimary">@color/primary</item>
        <item name="colorPrimaryDark">@color/primary_dark</item>
        <item name="colorAccent">@color/accent</item>
 </style>

并在您的BottomSheet类中使用它:

override fun getTheme(): Int = R.style.BaseBottomSheetDialog

最好使用基类并在其上实现getTheme()