Override switch widget style to Material3

Preference library has apparently no love for Material3 by default

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
Aayush Gupta
2023-06-05 13:31:38 +08:00
parent 54b6bb170f
commit 76fa3646cc
3 changed files with 26 additions and 1 deletions

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Derived from https://github.com/androidx/androidx/blob/8cb282cc/preference/preference/res/layout/preference_widget_switch_compat.xml -->
<com.google.android.material.materialswitch.MaterialSwitch xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/switchWidget"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@null"
android:clickable="false"
android:focusable="false" />

View File

@@ -30,6 +30,7 @@
<item name="colorShimmer">@color/colorShimmer</item>
<item name="colorStroke">@color/colorStroke</item>
<item name="chipStyle">@style/Widget.Aurora.Chip</item>
<item name="preferenceTheme">@style/AppTheme.PreferenceThemeOverlay</item>
</style>
<style name="AppTheme.Light" parent="Theme.Material3.Light.NoActionBar">
@@ -47,6 +48,7 @@
<item name="colorShimmer">@color/colorShimmer</item>
<item name="colorStroke">@color/colorStroke</item>
<item name="chipStyle">@style/Widget.Aurora.Chip</item>
<item name="preferenceTheme">@style/AppTheme.PreferenceThemeOverlay</item>
</style>
<style name="AppTheme.Dark" parent="Theme.Material3.Dark.NoActionBar">
@@ -65,6 +67,7 @@
<item name="colorShimmer">@color/colorShimmerDark</item>
<item name="colorStroke">@color/colorStrokeDark</item>
<item name="chipStyle">@style/Widget.Aurora.Chip</item>
<item name="preferenceTheme">@style/AppTheme.PreferenceThemeOverlay</item>
</style>
<style name="AppTheme.DarkX" parent="AppTheme.Dark">
@@ -75,6 +78,7 @@
<item name="android:navigationBarColor">@color/colorDarkXPrimaryDark</item>
<item name="colorShimmer">@color/colorShimmerDarkX</item>
<item name="colorStroke">@color/colorStrokeDarkX</item>
<item name="preferenceTheme">@style/AppTheme.PreferenceThemeOverlay</item>
</style>
<style name="AppTheme.Darkord" parent="AppTheme.Dark">
@@ -85,6 +89,7 @@
<item name="android:navigationBarColor">@color/colorDarkordPrimaryDark</item>
<item name="colorShimmer">@color/colorShimmerDarkord</item>
<item name="colorStroke">@color/colorStrokeDarkord</item>
<item name="preferenceTheme">@style/AppTheme.PreferenceThemeOverlay</item>
</style>
<style name="AppTheme.Black" parent="AppTheme.Dark">
@@ -95,5 +100,14 @@
<item name="android:navigationBarColor">@color/colorBlack</item>
<item name="colorShimmer">@color/colorShimmerBlack</item>
<item name="colorStroke">@color/colorStrokeBlack</item>
<item name="preferenceTheme">@style/AppTheme.PreferenceThemeOverlay</item>
</style>
<style name="AppTheme.PreferenceThemeOverlay" parent="@style/PreferenceThemeOverlay">
<item name="switchPreferenceCompatStyle">@style/AppTheme.SwitchPreference</item>
</style>
<style name="AppTheme.SwitchPreference" parent="@style/Preference.SwitchPreferenceCompat.Material">
<item name="widgetLayout">@layout/preference_material_switch</item>
</style>
</resources>

View File

@@ -17,9 +17,11 @@
~
-->
<androidx.preference.PreferenceScreen xmlns:app="http://schemas.android.com/apk/res-auto">
<androidx.preference.PreferenceScreen xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">
<SwitchPreference
android:widgetLayout="@layout/preference_material_switch"
app:defaultValue="false"
app:iconSpaceReserved="false"
app:key="PREFERENCE_UPDATES_EXTENDED"