From 895c95ce93e65412acb3c5af12d42cf2c3c7ebd1 Mon Sep 17 00:00:00 2001 From: tibbi Date: Tue, 18 Jan 2022 15:03:30 +0100 Subject: [PATCH] set keyboard color depending on the background color --- .../keyboard/views/MyKeyboardView.kt | 20 +++++++++++-------- .../res/drawable/minikeyboard_background.xml | 2 +- .../res/layout/keyboard_popup_keyboard.xml | 18 +++++------------ .../res/layout/keyboard_view_keyboard.xml | 2 +- 4 files changed, 19 insertions(+), 23 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/keyboard/views/MyKeyboardView.kt b/app/src/main/kotlin/com/simplemobiletools/keyboard/views/MyKeyboardView.kt index 0c26eb96..04f40868 100644 --- a/app/src/main/kotlin/com/simplemobiletools/keyboard/views/MyKeyboardView.kt +++ b/app/src/main/kotlin/com/simplemobiletools/keyboard/views/MyKeyboardView.kt @@ -4,7 +4,6 @@ import android.annotation.SuppressLint import android.content.Context import android.graphics.* import android.graphics.Paint.Align -import android.graphics.drawable.ColorDrawable import android.graphics.drawable.Drawable import android.inputmethodservice.KeyboardView import android.media.AudioManager @@ -18,13 +17,11 @@ import android.view.accessibility.AccessibilityEvent import android.view.accessibility.AccessibilityManager import android.widget.PopupWindow import android.widget.TextView -import com.simplemobiletools.commons.extensions.adjustAlpha -import com.simplemobiletools.commons.extensions.applyColorFilter -import com.simplemobiletools.commons.extensions.getAdjustedPrimaryColor -import com.simplemobiletools.commons.extensions.getContrastColor +import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.keyboard.R import com.simplemobiletools.keyboard.extensions.config import com.simplemobiletools.keyboard.helpers.* +import kotlinx.android.synthetic.main.keyboard_popup_keyboard.view.* import java.util.* /** @@ -349,7 +346,13 @@ class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: Attribut mTextColor = context.config.textColor mBackgroundColor = context.config.backgroundColor mPrimaryColor = context.getAdjustedPrimaryColor() - background = ColorDrawable(mBackgroundColor) + + var newBgColor = mBackgroundColor + if (changedView == mini_keyboard_view) { + newBgColor = newBgColor.darkenColor(4) + } + + background.applyColorFilter(newBgColor) } } @@ -886,6 +889,7 @@ class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: Attribut } } + mPreviewText!!.background.applyColorFilter(mBackgroundColor.darkenColor(4)) mPreviewText!!.setTextColor(mTextColor) mPreviewText!!.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED)) val popupWidth = Math.max(mPreviewText!!.measuredWidth, key.width + mPreviewText!!.paddingLeft + mPreviewText!!.paddingRight) @@ -1032,7 +1036,7 @@ class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: Attribut if (mMiniKeyboardContainer == null) { val inflater = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater mMiniKeyboardContainer = inflater.inflate(mPopupLayout, null) - mMiniKeyboard = mMiniKeyboardContainer!!.findViewById(R.id.keyboardView) as MyKeyboardView + mMiniKeyboard = mMiniKeyboardContainer!!.findViewById(R.id.mini_keyboard_view) as MyKeyboardView mMiniKeyboard!!.onKeyboardActionListener = object : OnKeyboardActionListener { override fun onKey(primaryCode: Int, keyCodes: IntArray?) { @@ -1073,7 +1077,7 @@ class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: Attribut ) mMiniKeyboardCache[popupKey] = mMiniKeyboardContainer } else { - mMiniKeyboard = mMiniKeyboardContainer!!.findViewById(R.id.keyboardView) as MyKeyboardView + mMiniKeyboard = mMiniKeyboardContainer!!.findViewById(R.id.mini_keyboard_view) as MyKeyboardView } getLocationInWindow(mCoordinates) diff --git a/app/src/main/res/drawable/minikeyboard_background.xml b/app/src/main/res/drawable/minikeyboard_background.xml index 0d7e9e96..da876f79 100644 --- a/app/src/main/res/drawable/minikeyboard_background.xml +++ b/app/src/main/res/drawable/minikeyboard_background.xml @@ -2,7 +2,7 @@ - + diff --git a/app/src/main/res/layout/keyboard_popup_keyboard.xml b/app/src/main/res/layout/keyboard_popup_keyboard.xml index f0072df7..c754381b 100644 --- a/app/src/main/res/layout/keyboard_popup_keyboard.xml +++ b/app/src/main/res/layout/keyboard_popup_keyboard.xml @@ -1,14 +1,6 @@ - - - - - + android:layout_height="match_parent" + android:background="@drawable/minikeyboard_background" /> diff --git a/app/src/main/res/layout/keyboard_view_keyboard.xml b/app/src/main/res/layout/keyboard_view_keyboard.xml index 24501c88..762a8796 100644 --- a/app/src/main/res/layout/keyboard_view_keyboard.xml +++ b/app/src/main/res/layout/keyboard_view_keyboard.xml @@ -4,4 +4,4 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentBottom="true" - android:background="@color/md_grey_800" /> + android:background="@color/theme_dark_background_color" />