MaterialButton 样式被覆盖,如何保留它?
MaterialButton style being overridden, how do I keep it?
我正在尝试在 BottomSheetDialog
中使用 MaterialButtonToggleGroup
。但是按钮的样式被我用于 BottomSheet
的当前主题覆盖
在常规片段中:
使用属性
style="?attr/materialButtonOutlinedStyle"
我的 Material Button
上有这个蓝色轮廓 在我的 ToggleGroup
里面
<com.google.android.material.button.MaterialButtonToggleGroup
android:id="@+id/toggle_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:checkedButton="@+id/btnOne"
app:layout_constraintEnd_toEndOf="parent"
android:layout_marginEnd="16dp"
app:selectionRequired="true"
app:singleSelection="true">
<com.google.android.material.button.MaterialButton
android:id="@+id/btnOne"
style="?attr/materialButtonOutlinedStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button 1"
android:minHeight="0dp"
android:textSize="12sp"/>
<com.google.android.material.button.MaterialButton
android:id="@+id/btnTwo"
style="?attr/materialButtonOutlinedStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minHeight="0dp"
android:text="Button 2"
android:textSize="12sp"/>
</com.google.android.material.button.MaterialButtonToggleGroup>
但是在我的 BottomSheet
中使用它时,我得到了这个:
底部的主题 sheet 我正在使用:
<style name="Theme.TestApp" parent="Theme.MaterialComponents.DayNight.NoActionBar">
...
<item name="bottomSheetDialogTheme">@style/AppBottomSheetDialogTheme</item>
</style>
<style name="AppBottomSheetDialogTheme" parent="Theme.Design.Light.BottomSheetDialog">
<item name="bottomSheetStyle">@style/BottomSheetRoundedCorners</item>
</style>
<style name="BottomSheetRoundedCorners" parent="Widget.Design.BottomSheet.Modal">
<item name="android:background">@drawable/bgr_bottomsheet_round_corners</item>
</style>
如何保持风格
style="?attr/materialButtonOutlinedStyle"
在使用 BottomSheet
的主题时为 MaterialButton
?
编辑:______________________________
我试过添加
<item name="materialButtonStyle">@style/Widget.MaterialComponents.Button.OutlinedButton</item>
我的 BottomSheet
的主题,但它没有任何作用。
<style name="AppBottomSheetDialogTheme" parent="Theme.Design.Light.BottomSheetDialog">
<item name="bottomSheetStyle">@style/BottomSheetRoundedCorners</item>
<item name="materialButtonStyle">@style/Widget.MaterialComponents.Button.OutlinedButton</item>
</style>
也试过
<item name="materialButtonStyle">?attr/materialButtonOutlinedStyle</item>
你可以使用这个主题:
<style name="BottomSheet" parent="Theme.MaterialComponents.DayNight.BottomSheetDialog"/>
<style name="Theme.TestApp" parent="Theme.MaterialComponents.DayNight.NoActionBar">
...
<item name="bottomSheetDialogTheme">@style/BottomSheet</item>
请勿使用 THEME.DESIGN.LIGHT
我正在尝试在 BottomSheetDialog
中使用 MaterialButtonToggleGroup
。但是按钮的样式被我用于 BottomSheet
在常规片段中:
使用属性
style="?attr/materialButtonOutlinedStyle"
我的 Material Button
上有这个蓝色轮廓 在我的 ToggleGroup
<com.google.android.material.button.MaterialButtonToggleGroup
android:id="@+id/toggle_group"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:checkedButton="@+id/btnOne"
app:layout_constraintEnd_toEndOf="parent"
android:layout_marginEnd="16dp"
app:selectionRequired="true"
app:singleSelection="true">
<com.google.android.material.button.MaterialButton
android:id="@+id/btnOne"
style="?attr/materialButtonOutlinedStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button 1"
android:minHeight="0dp"
android:textSize="12sp"/>
<com.google.android.material.button.MaterialButton
android:id="@+id/btnTwo"
style="?attr/materialButtonOutlinedStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minHeight="0dp"
android:text="Button 2"
android:textSize="12sp"/>
</com.google.android.material.button.MaterialButtonToggleGroup>
但是在我的 BottomSheet
中使用它时,我得到了这个:
底部的主题 sheet 我正在使用:
<style name="Theme.TestApp" parent="Theme.MaterialComponents.DayNight.NoActionBar">
...
<item name="bottomSheetDialogTheme">@style/AppBottomSheetDialogTheme</item>
</style>
<style name="AppBottomSheetDialogTheme" parent="Theme.Design.Light.BottomSheetDialog">
<item name="bottomSheetStyle">@style/BottomSheetRoundedCorners</item>
</style>
<style name="BottomSheetRoundedCorners" parent="Widget.Design.BottomSheet.Modal">
<item name="android:background">@drawable/bgr_bottomsheet_round_corners</item>
</style>
如何保持风格
style="?attr/materialButtonOutlinedStyle"
在使用 BottomSheet
的主题时为 MaterialButton
?
编辑:______________________________
我试过添加
<item name="materialButtonStyle">@style/Widget.MaterialComponents.Button.OutlinedButton</item>
我的 BottomSheet
的主题,但它没有任何作用。
<style name="AppBottomSheetDialogTheme" parent="Theme.Design.Light.BottomSheetDialog">
<item name="bottomSheetStyle">@style/BottomSheetRoundedCorners</item>
<item name="materialButtonStyle">@style/Widget.MaterialComponents.Button.OutlinedButton</item>
</style>
也试过
<item name="materialButtonStyle">?attr/materialButtonOutlinedStyle</item>
你可以使用这个主题:
<style name="BottomSheet" parent="Theme.MaterialComponents.DayNight.BottomSheetDialog"/>
<style name="Theme.TestApp" parent="Theme.MaterialComponents.DayNight.NoActionBar">
...
<item name="bottomSheetDialogTheme">@style/BottomSheet</item>
请勿使用 THEME.DESIGN.LIGHT