1
0
Fork 0

the keyboard now uses the Material 3 theme and follows the system Dynamic Colors on Android >= 12

This commit is contained in:
sspanak 2025-01-30 13:29:22 +02:00 committed by Dimo Karaivanov
parent e910ef36c9
commit a0d59f0293
10 changed files with 144 additions and 40 deletions

View file

@ -297,8 +297,8 @@ public class SuggestionsBar {
Context context = mView.getContext();
backgroundColor = ContextCompat.getColor(context, R.color.keyboard_background);
mSuggestionsAdapter.setColorDefault(ContextCompat.getColor(context, R.color.keyboard_text_color));
mSuggestionsAdapter.setColorHighlight(ContextCompat.getColor(context, R.color.suggestion_selected_color));
mSuggestionsAdapter.setColorDefault(ContextCompat.getColor(context, R.color.keyboard_text));
mSuggestionsAdapter.setColorHighlight(ContextCompat.getColor(context, R.color.suggestion_selected_text));
mSuggestionsAdapter.setBackgroundHighlight(ContextCompat.getColor(context, R.color.suggestion_selected_background));
setBackground(suggestions);

View file

@ -11,4 +11,30 @@
<!-- page -->
<color name="prefs_page_background">@color/material_dynamic_neutral10</color>
<color name="prefs_category_title_color">@color/material_dynamic_primary70</color>
<!--*******************************************
Keyboard
*******************************************-->
<color name="keyboard_background">@color/material_dynamic_neutral10</color>
<color name="keyboard_text">@color/material_dynamic_neutral_variant90</color>
<color name="keyboard_top_separator">@color/material_dynamic_neutral_variant20</color>
<color name="key_num_background">@color/material_dynamic_neutral_variant20</color>
<color name="key_num_ripple">@color/material_dynamic_neutral30</color>
<color name="key_num_text">@color/keyboard_text</color>
<color name="key_num_alternative_text">@color/material_dynamic_neutral80</color> <!-- 'hold' functions -->
<color name="key_fn_background">@color/material_dynamic_secondary30</color>
<color name="key_fn_ripple">@color/material_dynamic_secondary40</color>
<color name="key_fn_text">@color/material_dynamic_secondary90</color>
<color name="key_fn_alternative_text">@color/material_dynamic_secondary80</color> <!-- 'hold' functions -->
<color name="key_ok_background">@color/suggestion_selected_background</color>
<color name="key_ok_ripple">@color/material_dynamic_primary50</color>
<color name="key_ok_text">@color/suggestion_selected_text</color>
<color name="suggestion_selected_background">@color/material_dynamic_primary40</color>
<color name="suggestion_selected_text">@color/keyboard_text</color>
<color name="suggestion_separator">@color/material_dynamic_neutral_variant40</color>
</resources>

View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="key_ok_background">@color/key_fn_background</color>
<color name="key_ok_ripple">@color/key_fn_ripple</color>
<color name="key_ok_text">@color/key_fn_text</color>
</resources>

View file

@ -5,19 +5,22 @@
*******************************************-->
<color name="keyboard_background">#292e33</color>
<color name="keyboard_text_color">#d4d5d6</color>
<color name="keyboard_text">#d4d5d6</color>
<color name="key_num_background">#484c4f</color>
<color name="key_num_color">#fff</color>
<color name="key_num_alternative_color">#c3c5c6</color> <!-- 'hold' functions -->
<color name="key_num_ripple">#5b5f62</color>
<color name="key_num_text">#fff</color>
<color name="key_num_alternative_text">#c3c5c6</color> <!-- 'hold' functions -->
<color name="key_fn_background">#373c41</color>
<color name="key_fn_alternative_color">#c2c3c4</color> <!-- 'hold' functions -->
<color name="key_fn_ripple">#474c51</color>
<color name="key_fn_alternative_text">#c2c3c4</color> <!-- 'hold' functions -->
<color name="key_ok_background">#5e97f6</color>
<color name="key_ok_color">#fff</color>
<color name="key_ok_ripple">#4c85e4</color>
<color name="key_ok_text">#fff</color>
<color name="suggestion_selected_background">#007ACC</color>
<color name="suggestion_selected_color">#fff</color>
<color name="suggestion_selected_text">#fff</color>
<color name="suggestion_separator">#888888</color>
</resources>

View file

@ -11,4 +11,30 @@
<!-- page -->
<color name="prefs_page_background">@color/material_dynamic_neutral95</color>
<color name="prefs_category_title_color">@color/material_dynamic_primary40</color>
<!--*******************************************
Keyboard
*******************************************-->
<color name="keyboard_background">@color/material_dynamic_neutral90</color>
<color name="keyboard_text">@color/material_dynamic_neutral_variant20</color>
<color name="keyboard_top_separator">@color/material_dynamic_neutral_variant80</color>
<color name="key_num_background">@color/material_dynamic_neutral_variant99</color>
<color name="key_num_ripple">@color/material_dynamic_neutral90</color>
<color name="key_num_text">@color/keyboard_text</color>
<color name="key_num_alternative_text">@color/material_dynamic_neutral30</color> <!-- 'hold' functions -->
<color name="key_fn_background">@color/material_dynamic_secondary80</color>
<color name="key_fn_ripple">@color/material_dynamic_secondary70</color>
<color name="key_fn_text">@color/material_dynamic_secondary20</color>
<color name="key_fn_alternative_text">@color/material_dynamic_secondary30</color> <!-- 'hold' functions -->
<color name="key_ok_background">@color/suggestion_selected_background</color>
<color name="key_ok_ripple">@color/material_dynamic_primary70</color>
<color name="key_ok_text">@color/suggestion_selected_text</color>
<color name="suggestion_selected_background">@color/material_dynamic_primary80</color>
<color name="suggestion_selected_text">@color/keyboard_text</color>
<color name="suggestion_separator">@color/material_dynamic_secondary60</color>
</resources>

View file

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="numpad_key_overlay_hold_icon_spacing_top">5dp</dimen>
<dimen name="numpad_key_overlay_hold_icon_spacing_right">4dp</dimen>
</resources>

View file

@ -2,12 +2,33 @@
<resources>
<style name="TTheme" parent="Theme.Material3.DynamicColors.DayNight" />
<!--*******************************************
Add Word
*******************************************-->
<style name="TTheme.AddWord" parent="Theme.Material3.DayNight.Dialog.Alert">
<item name="windowNoTitle">true</item> <!-- hide some weird floating rectangle above the dialog -->
<item name="textAppearanceBodyMedium">@style/TextAppearance.AppCompat.Widget.PopupMenu.Large</item> <!-- body text size -->
<item name="textAppearanceLabelLarge">@style/TextAppearance.MaterialComponents.Button</item> <!-- button text size -->
</style>
<!--*******************************************
Keyboard
*******************************************-->
<style name="TTheme.Keyboard.Key.VersionStyle" parent="Widget.Material3.Button">
<item name="android:textAppearance">@style/TextAppearance.AppCompat.Medium</item>
<item name="android:textSize">@dimen/key_text_size</item>
</style>
<style name="TTheme.Numpad.Key.VersionStyle" parent="TTheme.Keyboard.Key.VersionStyle">
<item name="cornerRadius">8dp</item>
</style>
<!--*******************************************
Preferences
*******************************************-->
<style name="TTheme.Preferences" parent="TTheme">
<item name="preferenceTheme">@style/TTheme.Preferences.Overlay</item>

View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="key_ok_background">@color/key_fn_background</color>
<color name="key_ok_ripple">@color/key_fn_ripple</color>
<color name="key_ok_text">@color/key_fn_text</color>
</resources>

View file

@ -8,19 +8,24 @@
*******************************************-->
<color name="keyboard_background">#e8eaed</color>
<color name="keyboard_text_color">#3d3d3f</color>
<color name="keyboard_text">#3d3d3f</color>
<color name="keyboard_top_separator">@color/key_fn_background</color>
<color name="key_num_background">#fff</color>
<color name="key_num_color">#333</color>
<color name="key_num_alternative_color">#4d4d4f</color> <!-- 'hold' functions -->
<color name="key_num_ripple">#eff0f1</color>
<color name="key_num_text">#333</color>
<color name="key_num_alternative_text">#4d4d4f</color> <!-- 'hold' functions -->
<color name="key_fn_background">#ccced5</color>
<color name="key_fn_alternative_color">#4e4e50</color> <!-- 'hold' functions -->
<color name="key_fn_ripple">#b9bbc2</color>
<color name="key_fn_text">@color/keyboard_text</color>
<color name="key_fn_alternative_text">#4e4e50</color> <!-- 'hold' functions -->
<color name="key_ok_background">#1a73e8</color>
<color name="key_ok_color">#fff</color>
<color name="key_ok_ripple">#0961d6</color>
<color name="key_ok_text">#fff</color>
<color name="suggestion_selected_background">#8cb7f9</color> <!-- 8ed0fe / 7ecbff / #FFB27E / 73c7ff / 7ecfe2 / 8ac8f1 -->
<color name="suggestion_selected_color">#000</color>
<color name="suggestion_selected_text">#000</color>
<color name="suggestion_separator">#888888</color>
</resources>

View file

@ -12,21 +12,28 @@
<item name="android:background">@color/keyboard_background</item>
</style>
<style name="TTheme.MainSmall" parent="TTheme.Keyboard">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:orientation">vertical</item>
<style name="TTheme.Keyboard.Key.VersionStyle" parent="Widget.MaterialComponents.Button">
<item name="android:textAppearance">@style/TextAppearance.AppCompat.Medium</item>
<item name="android:textSize">@dimen/key_text_size</item>
</style>
<style name="TTheme.Keyboard.TopSeparator">
<item name="android:layout_margin">0dp</item>
<item name="android:layout_height">1dp</item>
<item name="android:layout_width">match_parent</item>
<item name="android:background">@color/key_fn_background</item>
<item name="android:background">@color/keyboard_top_separator</item>
</style>
<!--*******************************************
Small
*******************************************-->
<style name="TTheme.MainSmall" parent="TTheme.Keyboard">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:orientation">vertical</item>
</style>
<!--*******************************************
Status Bar
@ -45,7 +52,7 @@
<item name="android:textSize">@dimen/status_bar_text_size</item>
<item name="android:textStyle">italic</item>
<item name="android:textColor">@color/keyboard_text_color</item>
<item name="android:textColor">@color/keyboard_text</item>
</style>
<style name="TTheme.MainSmall.StatusBar.SuggestionList" parent="">
@ -84,7 +91,7 @@
<item name="android:orientation">horizontal</item>
</style>
<style name="TTheme.MainSmall.Key" parent="Widget.MaterialComponents.Button">
<style name="TTheme.MainSmall.Key" parent="TTheme.Keyboard.Key.VersionStyle">
<item name="android:layout_height">match_parent</item>
<item name="android:layout_width">0dp</item>
<item name="android:layout_weight">1</item>
@ -95,16 +102,17 @@
<item name="android:paddingTop">0dp</item>
<item name="android:paddingBottom">0dp</item>
<item name="android:textAppearance">@style/TextAppearance.AppCompat.Medium</item>
<item name="android:textSize">@dimen/key_text_size</item>
<item name="android:textColor">@color/key_num_color</item>
<item name="backgroundTint">@color/key_num_background</item>
<item name="android:textColor">@color/key_num_text</item>
<item name="drawableTint">@color/key_num_text</item>
<item name="rippleColor">@color/key_num_ripple</item>
</style>
<style name="TTheme.MainSmall.Key.OK" parent="TTheme.MainSmall.Key">
<item name="android:textColor">@color/key_ok_color</item>
<item name="android:textColor">@color/key_ok_text</item>
<item name="backgroundTint">@color/key_ok_background</item>
<item name="rippleColor">@color/key_ok_ripple</item>
</style>
@ -125,12 +133,6 @@
<item name="android:paddingRight">0dp</item>
<item name="android:paddingBottom">2dp</item>
<item name="android:paddingLeft">0dp</item>
<item name="android:textAppearance">@style/TextAppearance.AppCompat</item>
<item name="android:textSize">@dimen/key_text_size</item>
<item name="android:textColor">@color/key_num_color</item>
<item name="drawableTint">@color/key_num_color</item>
</style>
@ -229,7 +231,7 @@
<item name="android:layout_centerInParent">true</item>
<item name="android:paddingTop">2dp</item>
<item name="android:translationZ">@dimen/numpad_key_overlay_z</item>
<item name="android:tint">@color/keyboard_text_color</item>
<item name="android:tint">@color/key_fn_text</item>
</style>
<!-- Overlay: Hold Icon -->
@ -243,13 +245,13 @@
<item name="android:layout_height">@dimen/numpad_key_overlay_hold_icon_size</item>
<item name="android:layout_width">@dimen/numpad_key_overlay_hold_icon_size</item>
<item name="android:tint">@color/key_fn_alternative_color</item>
<item name="android:tint">@color/key_fn_alternative_text</item>
</style>
<!-- Overlay: Hold Text -->
<style name="TTheme.Numpad.Key.Overlay.Text" parent="TTheme.Numpad.Key.Overlay.Element">
<item name="android:textSize">@dimen/numpad_key_overlay_side_text_size</item>
<item name="android:textColor">@color/key_fn_alternative_color</item>
<item name="android:textColor">@color/key_fn_alternative_text</item>
</style>
<style name="TTheme.Numpad.Key.Overlay.Text.Hold" parent="TTheme.Numpad.Key.Overlay.Text">
@ -262,7 +264,7 @@
</style>
<style name="TTheme.Numpad.Key.Number.Overlay.Text.Hold" parent="TTheme.Numpad.Key.Overlay.Text.Hold">
<item name="android:textColor">@color/key_num_alternative_color</item>
<item name="android:textColor">@color/key_num_alternative_text</item>
</style>
<!-- Overlay: Side Text -->
@ -290,7 +292,8 @@
<!--*******************************************
Numpad Keys
*******************************************-->
<style name="TTheme.Numpad.Key" parent="Widget.MaterialComponents.Button">
<style name="TTheme.Numpad.Key.VersionStyle" parent="TTheme.Keyboard.Key.VersionStyle" />
<style name="TTheme.Numpad.Key" parent="TTheme.Numpad.Key.VersionStyle">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">@dimen/numpad_key_height</item>
@ -304,8 +307,9 @@
<item name="android:textAppearance">@style/TextAppearance.AppCompat.Medium</item>
<item name="android:textSize">@dimen/key_text_size</item>
<item name="android:textColor">@color/keyboard_text_color</item>
<item name="android:textColor">@color/key_fn_text</item>
<item name="backgroundTint">@color/key_fn_background</item>
<item name="rippleColor">@color/key_fn_ripple</item>
</style>
<!-- Suggestion arrow keys -->
@ -316,13 +320,15 @@
<!-- Keypad keys -->
<style name="TTheme.Numpad.Key.Number" parent="TTheme.Numpad.Key">
<item name="android:textColor">@color/key_num_color</item>
<item name="android:textColor">@color/key_num_text</item>
<item name="backgroundTint">@color/key_num_background</item>
<item name="rippleColor">@color/key_num_ripple</item>
</style>
<style name="TTheme.Numpad.Key.OK" parent="TTheme.Numpad.Key">
<item name="android:textColor">@color/key_ok_color</item>
<item name="android:textColor">@color/key_ok_text</item>
<item name="backgroundTint">@color/key_ok_background</item>
<item name="rippleColor">@color/key_ok_ripple</item>
</style>
<style name="TTheme.Numpad.Key.Placeholder">