diff options
author | 2011-09-15 16:13:04 +0900 | |
---|---|---|
committer | 2011-09-15 17:40:44 +0900 | |
commit | a6d3a4d61b9655816128aa929331b7624476df64 (patch) | |
tree | 13b845ab3df585f7d355899519e16e1aa5e3a95b /java | |
parent | 7918ed016960908700582e47322e52d74c328cc7 (diff) | |
download | latinime-a6d3a4d61b9655816128aa929331b7624476df64.tar.gz latinime-a6d3a4d61b9655816128aa929331b7624476df64.tar.xz latinime-a6d3a4d61b9655816128aa929331b7624476df64.zip |
Make action key background more visually prominent
Bug: 5232726
Change-Id: I76ff2fb431ca295693ceb231a0f13da44f9293e6
Diffstat (limited to 'java')
-rw-r--r-- | java/res/drawable-hdpi/btn_keyboard_key_dark_active_holo.9.png | bin | 0 -> 479 bytes | |||
-rw-r--r-- | java/res/drawable-mdpi/btn_keyboard_key_dark_active_holo.9.png | bin | 0 -> 346 bytes | |||
-rw-r--r-- | java/res/drawable-xhdpi/btn_keyboard_key_dark_active_holo.9.png | bin | 0 -> 605 bytes | |||
-rw-r--r-- | java/res/drawable/btn_keyboard_key_ics.xml | 9 | ||||
-rw-r--r-- | java/res/values/attrs.xml | 1 | ||||
-rw-r--r-- | java/res/xml/kbd_key_styles.xml | 10 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/keyboard/Key.java | 50 |
7 files changed, 39 insertions, 31 deletions
diff --git a/java/res/drawable-hdpi/btn_keyboard_key_dark_active_holo.9.png b/java/res/drawable-hdpi/btn_keyboard_key_dark_active_holo.9.png Binary files differnew file mode 100644 index 000000000..8bb66b722 --- /dev/null +++ b/java/res/drawable-hdpi/btn_keyboard_key_dark_active_holo.9.png diff --git a/java/res/drawable-mdpi/btn_keyboard_key_dark_active_holo.9.png b/java/res/drawable-mdpi/btn_keyboard_key_dark_active_holo.9.png Binary files differnew file mode 100644 index 000000000..c8d7ee0af --- /dev/null +++ b/java/res/drawable-mdpi/btn_keyboard_key_dark_active_holo.9.png diff --git a/java/res/drawable-xhdpi/btn_keyboard_key_dark_active_holo.9.png b/java/res/drawable-xhdpi/btn_keyboard_key_dark_active_holo.9.png Binary files differnew file mode 100644 index 000000000..eba91db33 --- /dev/null +++ b/java/res/drawable-xhdpi/btn_keyboard_key_dark_active_holo.9.png diff --git a/java/res/drawable/btn_keyboard_key_ics.xml b/java/res/drawable/btn_keyboard_key_ics.xml index 7335cc299..e893da133 100644 --- a/java/res/drawable/btn_keyboard_key_ics.xml +++ b/java/res/drawable/btn_keyboard_key_ics.xml @@ -23,6 +23,13 @@ <item android:state_single="true" android:drawable="@drawable/btn_keyboard_key_dark_normal_holo" /> + <!-- Action keys. --> + + <item android:state_active="true" android:state_pressed="true" + android:drawable="@drawable/btn_keyboard_key_dark_pressed_holo" /> + <item android:state_active="true" + android:drawable="@drawable/btn_keyboard_key_dark_active_holo" /> + <!-- Toggle keys. Use checkable/checked state. --> <item android:state_checkable="true" android:state_checked="true" android:state_pressed="true" @@ -34,7 +41,7 @@ <item android:state_checkable="true" android:drawable="@drawable/btn_keyboard_key_dark_normal_off_holo" /> - <!-- Normal keys --> + <!-- Normal keys. --> <item android:state_pressed="true" android:drawable="@drawable/btn_keyboard_key_light_pressed_holo" /> diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml index 3275cd017..0451c9f94 100644 --- a/java/res/values/attrs.xml +++ b/java/res/values/attrs.xml @@ -198,6 +198,7 @@ <!-- This should be aligned with Key.BACKGROUND_TYPE_* --> <enum name="normal" value="0" /> <enum name="functional" value="1" /> + <enum name="action" value="2" /> </attr> <!-- Whether this is a toggle key. --> <attr name="isSticky" format="boolean" /> diff --git a/java/res/xml/kbd_key_styles.xml b/java/res/xml/kbd_key_styles.xml index e1f68d4e2..9df647284 100644 --- a/java/res/xml/kbd_key_styles.xml +++ b/java/res/xml/kbd_key_styles.xml @@ -102,7 +102,7 @@ latin:code="@integer/key_return" latin:keyLabel="@string/label_go_key" latin:keyLabelOption="autoXScale" - latin:parentStyle="functionalKeyStyle" /> + latin:backgroundType="action" /> </case> <case latin:imeAction="actionNext" @@ -112,7 +112,7 @@ latin:code="@integer/key_return" latin:keyLabel="@string/label_next_key" latin:keyLabelOption="autoXScale" - latin:parentStyle="functionalKeyStyle" /> + latin:backgroundType="action" /> </case> <case latin:imeAction="actionDone" @@ -122,7 +122,7 @@ latin:code="@integer/key_return" latin:keyLabel="@string/label_done_key" latin:keyLabelOption="autoXScale" - latin:parentStyle="functionalKeyStyle" /> + latin:backgroundType="action" /> </case> <case latin:imeAction="actionSend" @@ -132,7 +132,7 @@ latin:code="@integer/key_return" latin:keyLabel="@string/label_send_key" latin:keyLabelOption="autoXScale" - latin:parentStyle="functionalKeyStyle" /> + latin:backgroundType="action" /> </case> <case latin:imeAction="actionSearch" @@ -141,7 +141,7 @@ latin:styleName="returnKeyStyle" latin:code="@integer/key_return" latin:keyIcon="iconSearchKey" - latin:parentStyle="functionalKeyStyle" /> + latin:backgroundType="action" /> </case> <default> <key-style diff --git a/java/src/com/android/inputmethod/keyboard/Key.java b/java/src/com/android/inputmethod/keyboard/Key.java index c4d5e857d..9959a78f9 100644 --- a/java/src/com/android/inputmethod/keyboard/Key.java +++ b/java/src/com/android/inputmethod/keyboard/Key.java @@ -107,6 +107,7 @@ public class Key { public final int mBackgroundType; public static final int BACKGROUND_TYPE_NORMAL = 0; public static final int BACKGROUND_TYPE_FUNCTIONAL = 1; + public static final int BACKGROUND_TYPE_ACTION = 2; /** Whether this key repeats itself when held down */ public final boolean mRepeatable; @@ -163,6 +164,17 @@ public class Key { android.R.attr.state_pressed }; + // action normal state (with properties) + private static final int[] KEY_STATE_ACTIVE_NORMAL = { + android.R.attr.state_active + }; + + // action pressed state (with properties) + private static final int[] KEY_STATE_ACTIVE_PRESSED = { + android.R.attr.state_active, + android.R.attr.state_pressed + }; + // RTL parenthesis character swapping map. private static final Map<Integer, Integer> sRtlParenthesisMap = new HashMap<Integer, Integer>(); @@ -545,36 +557,24 @@ public class Key { */ public int[] getCurrentDrawableState() { final boolean pressed = mPressed; - if (!mSticky && mBackgroundType == BACKGROUND_TYPE_FUNCTIONAL) { - if (pressed) { - return KEY_STATE_FUNCTIONAL_PRESSED; + + // TODO: "Sticky" should be one of backgroundType. + if (mSticky) { + if (mHighlightOn) { + return pressed ? KEY_STATE_PRESSED_ON : KEY_STATE_NORMAL_ON; } else { - return KEY_STATE_FUNCTIONAL_NORMAL; + return pressed ? KEY_STATE_PRESSED_OFF : KEY_STATE_NORMAL_OFF; } } - int[] states = KEY_STATE_NORMAL; - - if (mHighlightOn) { - if (pressed) { - states = KEY_STATE_PRESSED_ON; - } else { - states = KEY_STATE_NORMAL_ON; - } - } else { - if (mSticky) { - if (pressed) { - states = KEY_STATE_PRESSED_OFF; - } else { - states = KEY_STATE_NORMAL_OFF; - } - } else { - if (pressed) { - states = KEY_STATE_PRESSED; - } - } + switch (mBackgroundType) { + case BACKGROUND_TYPE_FUNCTIONAL: + return pressed ? KEY_STATE_FUNCTIONAL_PRESSED : KEY_STATE_FUNCTIONAL_NORMAL; + case BACKGROUND_TYPE_ACTION: + return pressed ? KEY_STATE_ACTIVE_PRESSED : KEY_STATE_ACTIVE_NORMAL; + default: /* BACKGROUND_TYPE_NORMAL */ + return pressed ? KEY_STATE_PRESSED : KEY_STATE_NORMAL; } - return states; } public static class Spacer extends Key { |