More M3 theming

This commit is contained in:
Zakhar Timoshenko
2023-07-03 16:11:05 +03:00
parent df5f5ea737
commit fb674b6028
14 changed files with 92 additions and 33 deletions

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:alpha="0.4" android:color="?attr/colorPrimaryInverse" /> <item android:alpha="0.2" android:color="?attr/colorPrimary" />
</selector> </selector>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="?attr/colorOnPrimaryContainer" android:state_checked="true" /> <item android:color="?attr/colorOnSecondaryContainer" android:state_checked="true" />
<item android:color="?attr/colorControlNormal" android:state_checked="false" /> <item android:color="?attr/colorOnSurfaceVariant" android:state_checked="false" />
</selector> </selector>

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:alpha="0.4" android:color="@color/kotatsu_inversePrimary" /> <item android:alpha="0.2" android:color="@color/kotatsu_primary" />
</selector> </selector>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/kotatsu_onPrimaryContainer" android:state_checked="true" /> <item android:color="@color/kotatsu_onSecondaryContainer" android:state_checked="true" />
<item android:color="?attr/colorControlNormal" android:state_checked="false" /> <item android:color="@color/kotatsu_onSurfaceVariant" android:state_checked="false" />
</selector> </selector>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 34% of 12% = ~4% --> <!-- 34% of 12% = ~4% -->
<item android:alpha="0.34" android:color="?attr/colorControlHighlight" /> <item android:alpha="0.34" android:color="?attr/colorPrimary" />
</selector> </selector>

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Fills the entire area with the divider's color first... -->
<item>
<shape
android:shape="rectangle">
<solid android:color="?attr/colorOutline"/>
</shape>
</item>
<!-- ..., then draws a rectangle with the container color to cover the area not for the divider. -->
<item
android:bottom="1dp">
<shape
android:shape="rectangle">
<solid android:color="?attr/colorSurfaceContainerHigh"/>
</shape>
</item>
</layer-list>

View File

@@ -4,7 +4,7 @@
<item> <item>
<shape <shape
android:shape="rectangle"> android:shape="rectangle">
<solid android:color="?attr/colorSecondary"/> <solid android:color="?attr/colorOutline"/>
</shape> </shape>
</item> </item>
<!-- ..., then draws a rectangle with the container color to cover the area not for the divider. --> <!-- ..., then draws a rectangle with the container color to cover the area not for the divider. -->

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Fills the entire area with the divider's color first... -->
<item>
<shape
android:shape="rectangle">
<solid android:color="@color/kotatsu_outline"/>
</shape>
</item>
<!-- ..., then draws a rectangle with the container color to cover the area not for the divider. -->
<item
android:bottom="1dp">
<shape
android:shape="rectangle">
<solid android:color="@color/kotatsu_surfaceContainerHigh"/>
</shape>
</item>
</layer-list>

View File

@@ -4,7 +4,7 @@
<item> <item>
<shape <shape
android:shape="rectangle"> android:shape="rectangle">
<solid android:color="@color/kotatsu_secondary"/> <solid android:color="@color/kotatsu_primaryContainer"/>
</shape> </shape>
</item> </item>
<!-- ..., then draws a rectangle with the container color to cover the area not for the divider. --> <!-- ..., then draws a rectangle with the container color to cover the area not for the divider. -->

View File

@@ -4,10 +4,11 @@
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
style="@style/Widget.Kotatsu.CardView.Outlined" style="@style/Widget.Kotatsu.CardView.Outlined"
app:cardBackgroundColor="?attr/colorSurfaceContainerHighest"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:clipChildren="false" android:clipChildren="false"
app:cardCornerRadius="16dp" app:cardCornerRadius="12dp"
tools:layout_width="140dp"> tools:layout_width="140dp">
<LinearLayout <LinearLayout

View File

@@ -5,31 +5,39 @@
<item name="isMaterial3DynamicColorApplied">true</item> <item name="isMaterial3DynamicColorApplied">true</item>
<!-- Color palettes --> <!-- Color palettes -->
<item name="colorPrimary">@color/m3_sys_color_dynamic_dark_primary</item> <item name="colorPrimary">@color/m3_sys_color_dynamic_dark_primary</item>
<item name="colorOnPrimary">@color/m3_sys_color_dynamic_dark_on_primary</item>
<item name="colorPrimaryInverse">@color/m3_sys_color_dynamic_dark_inverse_primary</item>
<item name="colorPrimaryContainer">@color/m3_sys_color_dynamic_dark_primary_container</item> <item name="colorPrimaryContainer">@color/m3_sys_color_dynamic_dark_primary_container</item>
<item name="colorOnPrimary">@color/m3_sys_color_dynamic_dark_on_primary</item>
<item name="colorOnPrimaryContainer">@color/m3_sys_color_dynamic_dark_on_primary_container</item> <item name="colorOnPrimaryContainer">@color/m3_sys_color_dynamic_dark_on_primary_container</item>
<item name="colorPrimaryInverse">@color/m3_sys_color_dynamic_dark_inverse_primary</item>
<item name="colorSecondary">@color/m3_sys_color_dynamic_dark_secondary</item> <item name="colorSecondary">@color/m3_sys_color_dynamic_dark_secondary</item>
<item name="colorOnSecondary">@color/m3_sys_color_dynamic_dark_on_secondary</item>
<item name="colorSecondaryContainer">@color/m3_sys_color_dynamic_dark_secondary_container</item> <item name="colorSecondaryContainer">@color/m3_sys_color_dynamic_dark_secondary_container</item>
<item name="colorOnSecondary">@color/m3_sys_color_dynamic_dark_on_secondary</item>
<item name="colorOnSecondaryContainer">@color/m3_sys_color_dynamic_dark_on_secondary_container</item> <item name="colorOnSecondaryContainer">@color/m3_sys_color_dynamic_dark_on_secondary_container</item>
<item name="colorTertiary">@color/m3_sys_color_dynamic_dark_tertiary</item> <item name="colorTertiary">@color/m3_sys_color_dynamic_dark_tertiary</item>
<item name="colorOnTertiary">@color/m3_sys_color_dynamic_dark_on_tertiary</item>
<item name="colorTertiaryContainer">@color/m3_sys_color_dynamic_dark_tertiary_container</item> <item name="colorTertiaryContainer">@color/m3_sys_color_dynamic_dark_tertiary_container</item>
<item name="colorOnTertiary">@color/m3_sys_color_dynamic_dark_on_tertiary</item>
<item name="colorOnTertiaryContainer">@color/m3_sys_color_dynamic_dark_on_tertiary_container</item> <item name="colorOnTertiaryContainer">@color/m3_sys_color_dynamic_dark_on_tertiary_container</item>
<item name="android:colorBackground">@color/m3_sys_color_dynamic_dark_background</item>
<item name="colorOnBackground">@color/m3_sys_color_dynamic_dark_on_background</item>
<item name="colorSurface">@color/m3_sys_color_dynamic_dark_surface</item> <item name="colorSurface">@color/m3_sys_color_dynamic_dark_surface</item>
<item name="colorOnSurface">@color/m3_sys_color_dynamic_dark_on_surface</item> <item name="colorSurfaceDim">@color/m3_sys_color_dynamic_dark_surface_dim</item>
<item name="colorSurfaceBright">@color/m3_sys_color_dynamic_dark_surface_bright</item>
<item name="colorSurfaceContainerLowest">@color/m3_sys_color_dynamic_dark_surface_container_lowest</item>
<item name="colorSurfaceContainerLow">@color/m3_sys_color_dynamic_dark_surface_container_low</item>
<item name="colorSurfaceContainer">@color/m3_sys_color_dynamic_dark_surface_container</item>
<item name="colorSurfaceContainerHigh">@color/m3_sys_color_dynamic_dark_surface_container_high</item>
<item name="colorSurfaceContainerHighest">@color/m3_sys_color_dynamic_dark_surface_container_highest</item>
<item name="colorSurfaceVariant">@color/m3_sys_color_dynamic_dark_surface_variant</item> <item name="colorSurfaceVariant">@color/m3_sys_color_dynamic_dark_surface_variant</item>
<item name="colorOnSurface">@color/m3_sys_color_dynamic_dark_on_surface</item>
<item name="colorOnSurfaceVariant">@color/m3_sys_color_dynamic_dark_on_surface_variant</item> <item name="colorOnSurfaceVariant">@color/m3_sys_color_dynamic_dark_on_surface_variant</item>
<item name="colorSurfaceInverse">@color/m3_sys_color_dynamic_dark_inverse_surface</item> <item name="colorSurfaceInverse">@color/m3_sys_color_dynamic_dark_inverse_surface</item>
<item name="colorOnSurfaceInverse">@color/m3_sys_color_dynamic_dark_inverse_on_surface</item> <item name="colorOnSurfaceInverse">@color/m3_sys_color_dynamic_dark_inverse_on_surface</item>
<item name="colorOutline">@color/m3_sys_color_dynamic_dark_outline</item> <item name="colorOnBackground">@color/m3_sys_color_dynamic_dark_on_background</item>
<item name="colorError">@color/m3_sys_color_dark_error</item> <item name="colorError">@color/m3_sys_color_dark_error</item>
<item name="colorOnError">@color/m3_sys_color_dark_on_error</item>
<item name="colorErrorContainer">@color/m3_sys_color_dark_error_container</item> <item name="colorErrorContainer">@color/m3_sys_color_dark_error_container</item>
<item name="colorOnError">@color/m3_sys_color_dark_on_error</item>
<item name="colorOnErrorContainer">@color/m3_sys_color_dark_on_error_container</item> <item name="colorOnErrorContainer">@color/m3_sys_color_dark_on_error_container</item>
<item name="colorOutline">@color/m3_sys_color_dynamic_dark_outline</item>
<item name="colorOutlineVariant">@color/m3_sys_color_dynamic_dark_outline_variant</item>
<item name="android:colorBackground">@color/m3_sys_color_dynamic_dark_surface_container_high</item>
<!-- Default Framework Text Colors. --> <!-- Default Framework Text Colors. -->
<item name="android:textColorPrimary">@color/m3_dynamic_dark_default_color_primary_text</item> <item name="android:textColorPrimary">@color/m3_dynamic_dark_default_color_primary_text</item>
<item name="android:textColorPrimaryInverse">@color/m3_dynamic_default_color_primary_text</item> <item name="android:textColorPrimaryInverse">@color/m3_dynamic_default_color_primary_text</item>

View File

@@ -10,7 +10,7 @@
<color name="divider_default">#1FFFFFFF</color> <color name="divider_default">#1FFFFFFF</color>
<color name="status_bar_incognito">#66311B92</color> <color name="status_bar_incognito">#66311B92</color>
<color name="warning">#FB8C00</color> <color name="warning">#FB8C00</color>
<color name="launcher_background">#000000</color> <color name="launcher_background">#222222</color>
<color name="splash_primary">#0C4091</color> <color name="splash_primary">#0C4091</color>
<!-- Color schemes colors --> <!-- Color schemes colors -->

View File

@@ -13,31 +13,39 @@
<item name="isMaterial3DynamicColorApplied">true</item> <item name="isMaterial3DynamicColorApplied">true</item>
<!-- Color palettes --> <!-- Color palettes -->
<item name="colorPrimary">@color/m3_sys_color_dynamic_light_primary</item> <item name="colorPrimary">@color/m3_sys_color_dynamic_light_primary</item>
<item name="colorOnPrimary">@color/m3_sys_color_dynamic_light_on_primary</item>
<item name="colorPrimaryInverse">@color/m3_sys_color_dynamic_light_inverse_primary</item>
<item name="colorPrimaryContainer">@color/m3_sys_color_dynamic_light_primary_container</item> <item name="colorPrimaryContainer">@color/m3_sys_color_dynamic_light_primary_container</item>
<item name="colorOnPrimary">@color/m3_sys_color_dynamic_light_on_primary</item>
<item name="colorOnPrimaryContainer">@color/m3_sys_color_dynamic_light_on_primary_container</item> <item name="colorOnPrimaryContainer">@color/m3_sys_color_dynamic_light_on_primary_container</item>
<item name="colorPrimaryInverse">@color/m3_sys_color_dynamic_light_inverse_primary</item>
<item name="colorSecondary">@color/m3_sys_color_dynamic_light_secondary</item> <item name="colorSecondary">@color/m3_sys_color_dynamic_light_secondary</item>
<item name="colorOnSecondary">@color/m3_sys_color_dynamic_light_on_secondary</item>
<item name="colorSecondaryContainer">@color/m3_sys_color_dynamic_light_secondary_container</item> <item name="colorSecondaryContainer">@color/m3_sys_color_dynamic_light_secondary_container</item>
<item name="colorOnSecondary">@color/m3_sys_color_dynamic_light_on_secondary</item>
<item name="colorOnSecondaryContainer">@color/m3_sys_color_dynamic_light_on_secondary_container</item> <item name="colorOnSecondaryContainer">@color/m3_sys_color_dynamic_light_on_secondary_container</item>
<item name="colorTertiary">@color/m3_sys_color_dynamic_light_tertiary</item> <item name="colorTertiary">@color/m3_sys_color_dynamic_light_tertiary</item>
<item name="colorOnTertiary">@color/m3_sys_color_dynamic_light_on_tertiary</item>
<item name="colorTertiaryContainer">@color/m3_sys_color_dynamic_light_tertiary_container</item> <item name="colorTertiaryContainer">@color/m3_sys_color_dynamic_light_tertiary_container</item>
<item name="colorOnTertiary">@color/m3_sys_color_dynamic_light_on_tertiary</item>
<item name="colorOnTertiaryContainer">@color/m3_sys_color_dynamic_light_on_tertiary_container</item> <item name="colorOnTertiaryContainer">@color/m3_sys_color_dynamic_light_on_tertiary_container</item>
<item name="android:colorBackground">@color/m3_sys_color_dynamic_light_background</item>
<item name="colorOnBackground">@color/m3_sys_color_dynamic_light_on_background</item>
<item name="colorSurface">@color/m3_sys_color_dynamic_light_surface</item> <item name="colorSurface">@color/m3_sys_color_dynamic_light_surface</item>
<item name="colorOnSurface">@color/m3_sys_color_dynamic_light_on_surface</item> <item name="colorSurfaceDim">@color/m3_sys_color_dynamic_light_surface_dim</item>
<item name="colorSurfaceBright">@color/m3_sys_color_dynamic_light_surface_bright</item>
<item name="colorSurfaceContainerLowest">@color/m3_sys_color_dynamic_light_surface_container_lowest</item>
<item name="colorSurfaceContainerLow">@color/m3_sys_color_dynamic_light_surface_container_low</item>
<item name="colorSurfaceContainer">@color/m3_sys_color_dynamic_light_surface_container</item>
<item name="colorSurfaceContainerHigh">@color/m3_sys_color_dynamic_light_surface_container_high</item>
<item name="colorSurfaceContainerHighest">@color/m3_sys_color_dynamic_light_surface_container_highest</item>
<item name="colorSurfaceVariant">@color/m3_sys_color_dynamic_light_surface_variant</item> <item name="colorSurfaceVariant">@color/m3_sys_color_dynamic_light_surface_variant</item>
<item name="colorOnSurface">@color/m3_sys_color_dynamic_light_on_surface</item>
<item name="colorOnSurfaceVariant">@color/m3_sys_color_dynamic_light_on_surface_variant</item> <item name="colorOnSurfaceVariant">@color/m3_sys_color_dynamic_light_on_surface_variant</item>
<item name="colorSurfaceInverse">@color/m3_sys_color_dynamic_light_inverse_surface</item> <item name="colorSurfaceInverse">@color/m3_sys_color_dynamic_light_inverse_surface</item>
<item name="colorOnSurfaceInverse">@color/m3_sys_color_dynamic_light_inverse_on_surface</item> <item name="colorOnSurfaceInverse">@color/m3_sys_color_dynamic_light_inverse_on_surface</item>
<item name="colorOutline">@color/m3_sys_color_dynamic_light_outline</item> <item name="colorOnBackground">@color/m3_sys_color_dynamic_light_on_background</item>
<item name="colorError">@color/m3_sys_color_light_error</item> <item name="colorError">@color/m3_sys_color_light_error</item>
<item name="colorOnError">@color/m3_sys_color_light_on_error</item>
<item name="colorErrorContainer">@color/m3_sys_color_light_error_container</item> <item name="colorErrorContainer">@color/m3_sys_color_light_error_container</item>
<item name="colorOnError">@color/m3_sys_color_light_on_error</item>
<item name="colorOnErrorContainer">@color/m3_sys_color_light_on_error_container</item> <item name="colorOnErrorContainer">@color/m3_sys_color_light_on_error_container</item>
<item name="colorOutline">@color/m3_sys_color_dynamic_light_outline</item>
<item name="colorOutlineVariant">@color/m3_sys_color_dynamic_light_outline_variant</item>
<item name="android:colorBackground">@color/m3_sys_color_dynamic_light_surface_container_high</item>
<!-- Default Framework Text Colors. --> <!-- Default Framework Text Colors. -->
<item name="android:textColorPrimary">@color/m3_dynamic_default_color_primary_text</item> <item name="android:textColorPrimary">@color/m3_dynamic_default_color_primary_text</item>
<item name="android:textColorPrimaryInverse">@color/m3_dynamic_dark_default_color_primary_text</item> <item name="android:textColorPrimaryInverse">@color/m3_dynamic_dark_default_color_primary_text</item>

View File

@@ -11,7 +11,8 @@
<style name="Widget.Kotatsu.BottomNavigationView" parent="Widget.Material3.BottomNavigationView"> <style name="Widget.Kotatsu.BottomNavigationView" parent="Widget.Material3.BottomNavigationView">
<item name="labelVisibilityMode">labeled</item> <item name="labelVisibilityMode">labeled</item>
<item name="android:background">?attr/colorSurfaceContainerHighest</item> <item name="android:background">?attr/colorSurfaceContainerHighest</item>
<item name="compatShadowEnabled">false</item> <item name="itemActiveIndicatorStyle">@style/Widget.Kotatsu.BottomNavigationView.ActiveIndicator</item>
<item name="itemIconTint">@color/bottom_menu_active_item</item>
</style> </style>
<style name="Widget.Kotatsu.BottomNavigationView.ColoredIndicators"> <style name="Widget.Kotatsu.BottomNavigationView.ColoredIndicators">
@@ -73,6 +74,7 @@
</style> </style>
<style name="Widget.Kotatsu.Tabs" parent="@style/Widget.Material3.TabLayout"> <style name="Widget.Kotatsu.Tabs" parent="@style/Widget.Material3.TabLayout">
<item name="tabBackground">@drawable/tabs_background</item>
<item name="tabGravity">center</item> <item name="tabGravity">center</item>
<item name="tabInlineLabel">true</item> <item name="tabInlineLabel">true</item>
<item name="tabMinWidth">75dp</item> <item name="tabMinWidth">75dp</item>
@@ -84,7 +86,7 @@
<item name="iconifiedByDefault">false</item> <item name="iconifiedByDefault">false</item>
<item name="searchIcon">@null</item> <item name="searchIcon">@null</item>
<item name="queryBackground">@null</item> <item name="queryBackground">@null</item>
<item name="android:textColorHint">?attr/colorControlNormal</item> <item name="android:textAppearance">@style/TextAppearance.Kotatsu.SearchView</item>
<item name="android:textSize">18sp</item> <item name="android:textSize">18sp</item>
</style> </style>
@@ -192,7 +194,7 @@
<item name="android:insetBottom">2dp</item> <item name="android:insetBottom">2dp</item>
<item name="android:gravity">start|center_vertical</item> <item name="android:gravity">start|center_vertical</item>
<item name="android:textAppearance">?textAppearanceButton</item> <item name="android:textAppearance">?textAppearanceButton</item>
<item name="backgroundTint">@color/colored_button</item> <item name="backgroundTint">?attr/colorSurfaceContainerLow</item>
</style> </style>
<style name="Widget.Kotatsu.TextView.Indicator" parent="Widget.MaterialComponents.TextView"> <style name="Widget.Kotatsu.TextView.Indicator" parent="Widget.MaterialComponents.TextView">
@@ -212,6 +214,10 @@
<!-- TextAppearance --> <!-- TextAppearance -->
<style name="TextAppearance.Kotatsu.SearchView" parent="TextAppearance.Material3.SearchBar">
<item name="android:textColor">?attr/colorOnSurfaceVariant</item>
</style>
<style name="TextAppearance.Widget.Menu" parent="TextAppearance.AppCompat.Menu"> <style name="TextAppearance.Widget.Menu" parent="TextAppearance.AppCompat.Menu">
<item name="android:textColor">?attr/colorOnBackground</item> <item name="android:textColor">?attr/colorOnBackground</item>
</style> </style>