mirror of
https://gitlab.futo.org/keyboard/latinime.git
synced 2024-09-28 14:54:30 +01:00
Update moreKeys for Enter key with some actions
This commit is contained in:
parent
bf47b3f17c
commit
4bada6e34d
@ -327,6 +327,13 @@
|
|||||||
<attr name="keyHintLabel" format="string" />
|
<attr name="keyHintLabel" format="string" />
|
||||||
<!-- The vertical adjustment of key hint label in proportion to its height. -->
|
<!-- The vertical adjustment of key hint label in proportion to its height. -->
|
||||||
<attr name="keyHintLabelVerticalAdjustment" format="fraction" />
|
<attr name="keyHintLabelVerticalAdjustment" format="fraction" />
|
||||||
|
|
||||||
|
<!-- Whether or not keyboard should use action drawables -->
|
||||||
|
<attr name="isAction" format="boolean" />
|
||||||
|
|
||||||
|
<!-- Whether or not keyboard should use moreKey drawables -->
|
||||||
|
<attr name="isMoreKey" format="boolean" />
|
||||||
|
|
||||||
<!-- The key label flags. -->
|
<!-- The key label flags. -->
|
||||||
<attr name="keyLabelFlags" format="integer">
|
<attr name="keyLabelFlags" format="integer">
|
||||||
<!-- This should be aligned with
|
<!-- This should be aligned with
|
||||||
@ -420,6 +427,7 @@
|
|||||||
<!-- Color to use for the label in a key when in inactivated state. -->
|
<!-- Color to use for the label in a key when in inactivated state. -->
|
||||||
<attr name="keyTextInactivatedColor" format="color" />
|
<attr name="keyTextInactivatedColor" format="color" />
|
||||||
<attr name="keyPressedTextColor" format="color" />
|
<attr name="keyPressedTextColor" format="color" />
|
||||||
|
<attr name="actionKeyTextColor" format="color" />
|
||||||
<!-- Color to use for the label in a key that has followFunctionalTextColor keyLabelFlags. -->
|
<!-- Color to use for the label in a key that has followFunctionalTextColor keyLabelFlags. -->
|
||||||
<attr name="functionalTextColor" format="color" />
|
<attr name="functionalTextColor" format="color" />
|
||||||
<!-- Key hint letter (= one character hint label) color -->
|
<!-- Key hint letter (= one character hint label) color -->
|
||||||
|
@ -121,6 +121,7 @@
|
|||||||
<item name="divider">@drawable/more_keys_divider</item>
|
<item name="divider">@drawable/more_keys_divider</item>
|
||||||
<item name="keyTypeface">normal</item>
|
<item name="keyTypeface">normal</item>
|
||||||
<item name="verticalCorrection">@dimen/config_more_keys_keyboard_vertical_correction_holo</item>
|
<item name="verticalCorrection">@dimen/config_more_keys_keyboard_vertical_correction_holo</item>
|
||||||
|
<item name="isMoreKey">true</item>
|
||||||
</style>
|
</style>
|
||||||
<style
|
<style
|
||||||
name="MoreKeysKeyboardView.LXX_Dark.Action"
|
name="MoreKeysKeyboardView.LXX_Dark.Action"
|
||||||
@ -130,6 +131,7 @@
|
|||||||
<item name="keyBackground">@drawable/btn_keyboard_key_popup_action_lxx_dark</item>
|
<item name="keyBackground">@drawable/btn_keyboard_key_popup_action_lxx_dark</item>
|
||||||
<item name="divider">@null</item>
|
<item name="divider">@null</item>
|
||||||
<item name="keyLabelFlags">keepBackgroundAspectRatio</item>
|
<item name="keyLabelFlags">keepBackgroundAspectRatio</item>
|
||||||
|
<item name="isAction">true</item>
|
||||||
</style>
|
</style>
|
||||||
<style
|
<style
|
||||||
name="SuggestionStripView.LXX_Dark"
|
name="SuggestionStripView.LXX_Dark"
|
||||||
|
@ -121,6 +121,7 @@
|
|||||||
<item name="divider">@drawable/more_keys_divider</item>
|
<item name="divider">@drawable/more_keys_divider</item>
|
||||||
<item name="keyTypeface">normal</item>
|
<item name="keyTypeface">normal</item>
|
||||||
<item name="verticalCorrection">@dimen/config_more_keys_keyboard_vertical_correction_holo</item>
|
<item name="verticalCorrection">@dimen/config_more_keys_keyboard_vertical_correction_holo</item>
|
||||||
|
<item name="isMoreKey">true</item>
|
||||||
</style>
|
</style>
|
||||||
<style
|
<style
|
||||||
name="MoreKeysKeyboardView.LXX_Light.Action"
|
name="MoreKeysKeyboardView.LXX_Light.Action"
|
||||||
@ -130,6 +131,7 @@
|
|||||||
<item name="keyBackground">@drawable/btn_keyboard_key_popup_action_lxx_light</item>
|
<item name="keyBackground">@drawable/btn_keyboard_key_popup_action_lxx_light</item>
|
||||||
<item name="divider">@null</item>
|
<item name="divider">@null</item>
|
||||||
<item name="keyLabelFlags">keepBackgroundAspectRatio</item>
|
<item name="keyLabelFlags">keepBackgroundAspectRatio</item>
|
||||||
|
<item name="isAction">true</item>
|
||||||
</style>
|
</style>
|
||||||
<style
|
<style
|
||||||
name="SuggestionStripView.LXX_Light"
|
name="SuggestionStripView.LXX_Light"
|
||||||
|
@ -77,24 +77,11 @@
|
|||||||
latin:keyActionFlags="isRepeatable|noKeyPreview"
|
latin:keyActionFlags="isRepeatable|noKeyPreview"
|
||||||
latin:backgroundType="functional" />
|
latin:backgroundType="functional" />
|
||||||
<!-- emojiKeyStyle must be defined before including @xml/key_syles_enter. -->
|
<!-- emojiKeyStyle must be defined before including @xml/key_syles_enter. -->
|
||||||
<switch>
|
|
||||||
<case latin:keyboardTheme="ICS|KLP">
|
|
||||||
<key-style
|
<key-style
|
||||||
latin:styleName="emojiKeyStyle"
|
latin:styleName="emojiKeyStyle"
|
||||||
latin:keySpec="!icon/emoji_action_key|!code/key_emoji"
|
latin:keySpec="!icon/emoji_action_key|!code/key_emoji"
|
||||||
latin:keyActionFlags="noKeyPreview"
|
latin:keyActionFlags="noKeyPreview"
|
||||||
latin:backgroundType="action" />
|
latin:backgroundType="action" />
|
||||||
</case>
|
|
||||||
<!-- keyboardTheme="LXXLight|LXXDark" -->
|
|
||||||
<default>
|
|
||||||
<key-style
|
|
||||||
latin:styleName="emojiKeyStyle"
|
|
||||||
latin:keySpec="!icon/emoji_action_key|!code/key_emoji"
|
|
||||||
latin:keyLabelFlags="keepBackgroundAspectRatio"
|
|
||||||
latin:keyActionFlags="noKeyPreview"
|
|
||||||
latin:backgroundType="action" />
|
|
||||||
</default>
|
|
||||||
</switch>
|
|
||||||
<include
|
<include
|
||||||
latin:keyboardLayout="@xml/key_styles_enter" />
|
latin:keyboardLayout="@xml/key_styles_enter" />
|
||||||
<!-- TODO: Currently there is no way to specify icon alignment per theme. -->
|
<!-- TODO: Currently there is no way to specify icon alignment per theme. -->
|
||||||
|
@ -677,6 +677,10 @@ public class Key implements Comparable<Key> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public final int selectTextColor(final KeyDrawParams params) {
|
public final int selectTextColor(final KeyDrawParams params) {
|
||||||
|
if (isActionKey()) {
|
||||||
|
return params.mActionKeyTextColor;
|
||||||
|
}
|
||||||
|
|
||||||
if ((mLabelFlags & LABEL_FLAGS_FOLLOW_FUNCTIONAL_TEXT_COLOR) != 0) {
|
if ((mLabelFlags & LABEL_FLAGS_FOLLOW_FUNCTIONAL_TEXT_COLOR) != 0) {
|
||||||
return params.mFunctionalTextColor;
|
return params.mFunctionalTextColor;
|
||||||
}
|
}
|
||||||
|
@ -30,6 +30,7 @@ import android.graphics.drawable.Drawable;
|
|||||||
import android.graphics.drawable.NinePatchDrawable;
|
import android.graphics.drawable.NinePatchDrawable;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
|
import android.util.Log;
|
||||||
import android.view.ContextThemeWrapper;
|
import android.view.ContextThemeWrapper;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
|
||||||
@ -137,19 +138,25 @@ public class KeyboardView extends View {
|
|||||||
final TypedArray keyboardViewAttr = context.obtainStyledAttributes(attrs,
|
final TypedArray keyboardViewAttr = context.obtainStyledAttributes(attrs,
|
||||||
R.styleable.KeyboardView, defStyle, R.style.KeyboardView);
|
R.styleable.KeyboardView, defStyle, R.style.KeyboardView);
|
||||||
|
|
||||||
|
final TypedArray keyAttr = context.obtainStyledAttributes(attrs,
|
||||||
|
R.styleable.Keyboard_Key, defStyle, R.style.KeyboardView);
|
||||||
|
|
||||||
assert(context instanceof ContextThemeWrapper);
|
assert(context instanceof ContextThemeWrapper);
|
||||||
assert(((ContextThemeWrapper) context).getBaseContext() instanceof DynamicThemeProviderOwner);
|
assert(((ContextThemeWrapper) context).getBaseContext() instanceof DynamicThemeProviderOwner);
|
||||||
|
|
||||||
mDrawableProvider = ((DynamicThemeProviderOwner) ((ContextThemeWrapper) context).getBaseContext()).getDrawableProvider();
|
mDrawableProvider = ((DynamicThemeProviderOwner) ((ContextThemeWrapper) context).getBaseContext()).getDrawableProvider();
|
||||||
|
|
||||||
boolean isMoreKeys = defStyle == R.attr.moreKeysKeyboardViewStyle || defStyle == R.attr.moreKeysKeyboardViewForActionStyle;
|
boolean isMoreKeys = keyAttr.getBoolean(R.styleable.Keyboard_Key_isMoreKey, false);
|
||||||
|
boolean isMoreKeysAction = keyAttr.getBoolean(R.styleable.Keyboard_Key_isAction, false);
|
||||||
|
|
||||||
mKeyboardBackground = isMoreKeys ?
|
mKeyboardBackground = isMoreKeysAction ? null :
|
||||||
mDrawableProvider.getMoreKeysKeyboardBackground() : mDrawableProvider.getKeyboardBackground();
|
isMoreKeys ? mDrawableProvider.getMoreKeysKeyboardBackground() :
|
||||||
|
mDrawableProvider.getKeyboardBackground();
|
||||||
setBackground(mKeyboardBackground);
|
setBackground(mKeyboardBackground);
|
||||||
|
|
||||||
mKeyBackground = isMoreKeys ?
|
mKeyBackground = isMoreKeysAction ? mDrawableProvider.getActionPopupKey() :
|
||||||
mDrawableProvider.getPopupKey() : mDrawableProvider.getKeyBackground();
|
isMoreKeys ? mDrawableProvider.getPopupKey() :
|
||||||
|
mDrawableProvider.getKeyBackground();
|
||||||
mKeyBackground.getPadding(mKeyBackgroundPadding);
|
mKeyBackground.getPadding(mKeyBackgroundPadding);
|
||||||
|
|
||||||
mFunctionalKeyBackground = mKeyBackground;
|
mFunctionalKeyBackground = mKeyBackground;
|
||||||
@ -172,12 +179,10 @@ public class KeyboardView extends View {
|
|||||||
R.styleable.KeyboardView_verticalCorrection, 0.0f);
|
R.styleable.KeyboardView_verticalCorrection, 0.0f);
|
||||||
keyboardViewAttr.recycle();
|
keyboardViewAttr.recycle();
|
||||||
|
|
||||||
final TypedArray keyAttr = context.obtainStyledAttributes(attrs,
|
|
||||||
R.styleable.Keyboard_Key, defStyle, R.style.KeyboardView);
|
|
||||||
mDefaultKeyLabelFlags = keyAttr.getInt(R.styleable.Keyboard_Key_keyLabelFlags, 0);
|
mDefaultKeyLabelFlags = keyAttr.getInt(R.styleable.Keyboard_Key_keyLabelFlags, 0);
|
||||||
mKeyVisualAttributes = KeyVisualAttributes.newInstance(keyAttr, mDrawableProvider);
|
mKeyVisualAttributes = KeyVisualAttributes.newInstance(keyAttr, mDrawableProvider);
|
||||||
|
|
||||||
if(isMoreKeys && mKeyVisualAttributes != null) {
|
if((isMoreKeys || isMoreKeysAction) && mKeyVisualAttributes != null) {
|
||||||
mKeyVisualAttributes.mTextColor = mDrawableProvider.getMoreKeysTextColor();
|
mKeyVisualAttributes.mTextColor = mDrawableProvider.getMoreKeysTextColor();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -382,12 +387,8 @@ public class KeyboardView extends View {
|
|||||||
if (key.needsToKeepBackgroundAspectRatio(mDefaultKeyLabelFlags)
|
if (key.needsToKeepBackgroundAspectRatio(mDefaultKeyLabelFlags)
|
||||||
// HACK: To disable expanding normal/functional key background.
|
// HACK: To disable expanding normal/functional key background.
|
||||||
&& !key.hasCustomActionLabel()) {
|
&& !key.hasCustomActionLabel()) {
|
||||||
final int intrinsicWidth = background.getIntrinsicWidth();
|
bgWidth = Math.min(keyWidth, keyHeight);
|
||||||
final int intrinsicHeight = background.getIntrinsicHeight();
|
bgHeight = Math.min(keyWidth, keyHeight);
|
||||||
final float minScale = Math.min(
|
|
||||||
keyWidth / (float)intrinsicWidth, keyHeight / (float)intrinsicHeight);
|
|
||||||
bgWidth = (int)(intrinsicWidth * minScale);
|
|
||||||
bgHeight = (int)(intrinsicHeight * minScale);
|
|
||||||
bgX = (keyWidth - bgWidth) / 2;
|
bgX = (keyWidth - bgWidth) / 2;
|
||||||
bgY = (keyHeight - bgHeight) / 2;
|
bgY = (keyHeight - bgHeight) / 2;
|
||||||
} else {
|
} else {
|
||||||
@ -535,6 +536,8 @@ public class KeyboardView extends View {
|
|||||||
iconY = (keyHeight - iconHeight) / 2; // Align vertically center.
|
iconY = (keyHeight - iconHeight) / 2; // Align vertically center.
|
||||||
}
|
}
|
||||||
final int iconX = (keyWidth - iconWidth) / 2; // Align horizontally center.
|
final int iconX = (keyWidth - iconWidth) / 2; // Align horizontally center.
|
||||||
|
|
||||||
|
icon.setTint(key.selectTextColor(params));
|
||||||
drawIcon(canvas, icon, iconX, iconY, iconWidth, iconHeight);
|
drawIcon(canvas, icon, iconX, iconY, iconWidth, iconHeight);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -39,6 +39,7 @@ public final class KeyDrawParams {
|
|||||||
public int mTextInactivatedColor;
|
public int mTextInactivatedColor;
|
||||||
public int mPressedTextColor;
|
public int mPressedTextColor;
|
||||||
public int mTextShadowColor;
|
public int mTextShadowColor;
|
||||||
|
public int mActionKeyTextColor;
|
||||||
public int mFunctionalTextColor;
|
public int mFunctionalTextColor;
|
||||||
public int mHintLetterColor;
|
public int mHintLetterColor;
|
||||||
public int mHintLabelColor;
|
public int mHintLabelColor;
|
||||||
@ -69,6 +70,7 @@ public final class KeyDrawParams {
|
|||||||
mTextInactivatedColor = copyFrom.mTextInactivatedColor;
|
mTextInactivatedColor = copyFrom.mTextInactivatedColor;
|
||||||
mPressedTextColor = copyFrom.mPressedTextColor;
|
mPressedTextColor = copyFrom.mPressedTextColor;
|
||||||
mTextShadowColor = copyFrom.mTextShadowColor;
|
mTextShadowColor = copyFrom.mTextShadowColor;
|
||||||
|
mActionKeyTextColor = copyFrom.mActionKeyTextColor;
|
||||||
mFunctionalTextColor = copyFrom.mFunctionalTextColor;
|
mFunctionalTextColor = copyFrom.mFunctionalTextColor;
|
||||||
mHintLetterColor = copyFrom.mHintLetterColor;
|
mHintLetterColor = copyFrom.mHintLetterColor;
|
||||||
mHintLabelColor = copyFrom.mHintLabelColor;
|
mHintLabelColor = copyFrom.mHintLabelColor;
|
||||||
@ -107,6 +109,7 @@ public final class KeyDrawParams {
|
|||||||
mTextInactivatedColor = selectColor(attr.mTextInactivatedColor, mTextInactivatedColor);
|
mTextInactivatedColor = selectColor(attr.mTextInactivatedColor, mTextInactivatedColor);
|
||||||
mPressedTextColor = selectColor(attr.mPressedTextColor, mPressedTextColor);
|
mPressedTextColor = selectColor(attr.mPressedTextColor, mPressedTextColor);
|
||||||
mTextShadowColor = selectColor(attr.mTextShadowColor, mTextShadowColor);
|
mTextShadowColor = selectColor(attr.mTextShadowColor, mTextShadowColor);
|
||||||
|
mActionKeyTextColor = selectColor(attr.mActionKeyTextColor, mActionKeyTextColor);
|
||||||
mFunctionalTextColor = selectColor(attr.mFunctionalTextColor, mFunctionalTextColor);
|
mFunctionalTextColor = selectColor(attr.mFunctionalTextColor, mFunctionalTextColor);
|
||||||
mHintLetterColor = selectColor(attr.mHintLetterColor, mHintLetterColor);
|
mHintLetterColor = selectColor(attr.mHintLetterColor, mHintLetterColor);
|
||||||
mHintLabelColor = selectColor(attr.mHintLabelColor, mHintLabelColor);
|
mHintLabelColor = selectColor(attr.mHintLabelColor, mHintLabelColor);
|
||||||
|
@ -45,6 +45,7 @@ public final class KeyVisualAttributes {
|
|||||||
public final int mTextInactivatedColor;
|
public final int mTextInactivatedColor;
|
||||||
public final int mPressedTextColor;
|
public final int mPressedTextColor;
|
||||||
public final int mTextShadowColor;
|
public final int mTextShadowColor;
|
||||||
|
public final int mActionKeyTextColor;
|
||||||
public final int mFunctionalTextColor;
|
public final int mFunctionalTextColor;
|
||||||
public final int mHintLetterColor;
|
public final int mHintLetterColor;
|
||||||
public final int mHintLabelColor;
|
public final int mHintLabelColor;
|
||||||
@ -135,6 +136,8 @@ public final class KeyVisualAttributes {
|
|||||||
R.styleable.Keyboard_Key_keyPressedTextColor, 0, keyAttr, provider);
|
R.styleable.Keyboard_Key_keyPressedTextColor, 0, keyAttr, provider);
|
||||||
mTextShadowColor = DynamicThemeProvider.Companion.getColorOrDefault(
|
mTextShadowColor = DynamicThemeProvider.Companion.getColorOrDefault(
|
||||||
R.styleable.Keyboard_Key_keyTextShadowColor, 0, keyAttr, provider);
|
R.styleable.Keyboard_Key_keyTextShadowColor, 0, keyAttr, provider);
|
||||||
|
mActionKeyTextColor = DynamicThemeProvider.Companion.getColorOrDefault(
|
||||||
|
R.styleable.Keyboard_Key_actionKeyTextColor, 0, keyAttr, provider);
|
||||||
mFunctionalTextColor = DynamicThemeProvider.Companion.getColorOrDefault(
|
mFunctionalTextColor = DynamicThemeProvider.Companion.getColorOrDefault(
|
||||||
R.styleable.Keyboard_Key_functionalTextColor, 0, keyAttr, provider);
|
R.styleable.Keyboard_Key_functionalTextColor, 0, keyAttr, provider);
|
||||||
mHintLetterColor = DynamicThemeProvider.Companion.getColorOrDefault(
|
mHintLetterColor = DynamicThemeProvider.Companion.getColorOrDefault(
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
|
|
||||||
package org.futo.inputmethod.keyboard.internal;
|
package org.futo.inputmethod.keyboard.internal;
|
||||||
|
|
||||||
|
import org.futo.inputmethod.latin.uix.actions.ActionRegistry;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
|
||||||
@ -480,7 +482,7 @@ public final class KeyboardTextsTable {
|
|||||||
/* morekeys_single_quote */ "!fixedColumnOrder!5,!text/single_quotes,!text/single_angle_quotes",
|
/* morekeys_single_quote */ "!fixedColumnOrder!5,!text/single_quotes,!text/single_angle_quotes",
|
||||||
/* morekeys_double_quote */ "!fixedColumnOrder!5,!text/double_quotes,!text/double_angle_quotes",
|
/* morekeys_double_quote */ "!fixedColumnOrder!5,!text/double_quotes,!text/double_angle_quotes",
|
||||||
/* morekeys_tablet_double_quote */ "!fixedColumnOrder!6,!text/double_quotes,!text/single_quotes,!text/double_angle_quotes,!text/single_angle_quotes",
|
/* morekeys_tablet_double_quote */ "!fixedColumnOrder!6,!text/double_quotes,!text/single_quotes,!text/double_angle_quotes,!text/single_angle_quotes",
|
||||||
/* keyspec_emoji_action_key */ "!icon/emoji_action_key|!code/key_emoji",
|
/* keyspec_emoji_action_key */ ActionRegistry.INSTANCE.getEnterActions(),
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Locale af: Afrikaans */
|
/* Locale af: Afrikaans */
|
||||||
|
@ -76,6 +76,7 @@ class BasicThemeProvider(val context: Context, val overrideColorScheme: ColorSch
|
|||||||
override val moreKeysTextColor: Int
|
override val moreKeysTextColor: Int
|
||||||
override val moreKeysKeyboardBackground: Drawable
|
override val moreKeysKeyboardBackground: Drawable
|
||||||
override val popupKey: Drawable
|
override val popupKey: Drawable
|
||||||
|
override val actionPopupKey: Drawable
|
||||||
|
|
||||||
private val colors: HashMap<Int, Int> = HashMap()
|
private val colors: HashMap<Int, Int> = HashMap()
|
||||||
override fun getColor(i: Int): Int? {
|
override fun getColor(i: Int): Int? {
|
||||||
@ -237,6 +238,7 @@ class BasicThemeProvider(val context: Context, val overrideColorScheme: ColorSch
|
|||||||
colors[R.styleable.Keyboard_Key_keyTextInactivatedColor] = onBackgroundHalf
|
colors[R.styleable.Keyboard_Key_keyTextInactivatedColor] = onBackgroundHalf
|
||||||
colors[R.styleable.Keyboard_Key_keyPressedTextColor] = onPrimary
|
colors[R.styleable.Keyboard_Key_keyPressedTextColor] = onPrimary
|
||||||
colors[R.styleable.Keyboard_Key_keyTextShadowColor] = 0
|
colors[R.styleable.Keyboard_Key_keyTextShadowColor] = 0
|
||||||
|
colors[R.styleable.Keyboard_Key_actionKeyTextColor] = enterKeyForeground
|
||||||
colors[R.styleable.Keyboard_Key_functionalTextColor] = onBackground
|
colors[R.styleable.Keyboard_Key_functionalTextColor] = onBackground
|
||||||
colors[R.styleable.Keyboard_Key_keyHintLetterColor] = onBackgroundHalf
|
colors[R.styleable.Keyboard_Key_keyHintLetterColor] = onBackgroundHalf
|
||||||
colors[R.styleable.Keyboard_Key_keyHintLabelColor] = onBackgroundHalf
|
colors[R.styleable.Keyboard_Key_keyHintLabelColor] = onBackgroundHalf
|
||||||
@ -413,6 +415,13 @@ class BasicThemeProvider(val context: Context, val overrideColorScheme: ColorSch
|
|||||||
coloredRoundedRectangle(primaryContainer, dp(8.dp))
|
coloredRoundedRectangle(primaryContainer, dp(8.dp))
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
actionPopupKey = StateListDrawable().apply {
|
||||||
|
addStateWithHighlightLayerOnPressed(primary, intArrayOf(),
|
||||||
|
coloredRoundedRectangle(primaryContainer, dp(128.dp)),
|
||||||
|
128.dp
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -16,6 +16,7 @@ interface DynamicThemeProvider {
|
|||||||
val moreKeysTextColor: Int
|
val moreKeysTextColor: Int
|
||||||
val moreKeysKeyboardBackground: Drawable
|
val moreKeysKeyboardBackground: Drawable
|
||||||
val popupKey: Drawable
|
val popupKey: Drawable
|
||||||
|
val actionPopupKey: Drawable
|
||||||
|
|
||||||
@ColorInt
|
@ColorInt
|
||||||
fun getColor(i: Int): Int?
|
fun getColor(i: Int): Int?
|
||||||
|
@ -27,6 +27,13 @@ val AllActions = listOf(
|
|||||||
|
|
||||||
|
|
||||||
object ActionRegistry {
|
object ActionRegistry {
|
||||||
|
val EnterActions = "!fixedColumnOrder!4,!needsDividers!," +
|
||||||
|
listOf(SwitchLanguageAction, TextEditAction, ClipboardHistoryAction, EmojiAction, UndoAction, RedoAction).map {
|
||||||
|
AllActions.indexOf(it)
|
||||||
|
}.joinToString(separator = ",") {
|
||||||
|
"!icon/action_primary_$it|!code/action_$it"
|
||||||
|
}
|
||||||
|
|
||||||
fun stringToActions(string: String, defaults: List<Action>): List<Action> {
|
fun stringToActions(string: String, defaults: List<Action>): List<Action> {
|
||||||
return string.split(",").mapNotNull { idx ->
|
return string.split(",").mapNotNull { idx ->
|
||||||
idx.toIntOrNull()?.let { AllActions.getOrNull(it) }
|
idx.toIntOrNull()?.let { AllActions.getOrNull(it) }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user