diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/latin/suggestions/SuggestionStripView.java b/app/src/main/java/org/dslul/openboard/inputmethod/latin/suggestions/SuggestionStripView.java index 80d570564..ba7645d68 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/latin/suggestions/SuggestionStripView.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/latin/suggestions/SuggestionStripView.java @@ -22,6 +22,7 @@ import android.content.Context; import android.content.res.Resources; import android.content.res.TypedArray; import android.graphics.Color; +import android.graphics.PorterDuff; import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.util.TypedValue; @@ -58,6 +59,7 @@ import org.dslul.openboard.inputmethod.latin.utils.DialogUtils; import java.util.ArrayList; +import androidx.core.graphics.drawable.DrawableCompat; import androidx.core.view.ViewCompat; public final class SuggestionStripView extends RelativeLayout implements OnClickListener, @@ -184,11 +186,22 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick final Colors colors = Settings.getInstance().getCurrent().mColors; if (colors.isCustom) { - getBackground().setColorFilter(colors.backgroundFilter); + // this only works with backgrounds of SuggestionStripView.LXX_Base and SuggestionWord.LXX_Base + // set to keyboard_background_lxx_base (just white drawable), but NOT when set to + // btn_suggestion_lxx_base (state drawable with selector) + // why is this? then i have to set tint list for voice/clipboard/other keys and word views separately + // anyway, the only loss is that pressed state can't have a different shape + DrawableCompat.setTintList(getBackground(), colors.backgroundStateList); + DrawableCompat.setTintMode(getBackground(), PorterDuff.Mode.MULTIPLY); + mClipboardKey.setColorFilter(colors.keyText); mVoiceKey.setColorFilter(colors.keyText); mOtherKey.setColorFilter(colors.keyText); - } else mClipboardKey.clearColorFilter(); + } else { + mClipboardKey.clearColorFilter(); + mVoiceKey.clearColorFilter(); + mOtherKey.clearColorFilter(); + } } /** diff --git a/app/src/main/res/values/themes-lxx-base.xml b/app/src/main/res/values/themes-lxx-base.xml index 84bcea9a1..9c9f6b3f0 100644 --- a/app/src/main/res/values/themes-lxx-base.xml +++ b/app/src/main/res/values/themes-lxx-base.xml @@ -120,7 +120,7 @@ @fraction/config_center_suggestion_percentile @integer/config_max_more_suggestions_row @fraction/config_min_more_suggestions_width - @drawable/keyboard_suggest_strip_lxx_base + @drawable/keyboard_background_lxx_base @drawable/suggestions_strip_divider_lxx_light autoCorrectBold|validTypedWordBold @color/typed_word_color_lxx_light @@ -133,7 +133,7 @@ name="SuggestionWord.LXX_Base" parent="SuggestionWord" > - @drawable/btn_suggestion_lxx_base + @drawable/keyboard_background_lxx_base @color/highlight_color_lxx_light \ No newline at end of file