diff options
author | 2014-08-07 12:32:59 +0900 | |
---|---|---|
committer | 2014-08-07 12:42:27 +0900 | |
commit | e19c520b419faaf96180984528ae32b514a1bc77 (patch) | |
tree | 176b99bfee1877747936891b09ebb2291d1147e9 /java | |
parent | 3316dcd453a824b3da40a25fc83a46867e2aec59 (diff) | |
download | latinime-e19c520b419faaf96180984528ae32b514a1bc77.tar.gz latinime-e19c520b419faaf96180984528ae32b514a1bc77.tar.xz latinime-e19c520b419faaf96180984528ae32b514a1bc77.zip |
Align space key icon to bottom of a key
The Key.keyLabelFlags's flag "alignButtom" (misspelled) has been
removed by Iae3cd66744. This CL re-introduce the same flag with
"alignIconToBottom".
Bug: 16803172
Change-Id: I412590f394c6ca9b36358d6acfe8675071403bdd
Diffstat (limited to 'java')
-rw-r--r-- | java/res/values/attrs.xml | 1 | ||||
-rw-r--r-- | java/res/xml/key_styles_number.xml | 1 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/keyboard/Key.java | 5 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/keyboard/KeyboardView.java | 10 |
4 files changed, 14 insertions, 3 deletions
diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml index e6215c254..37ba3963b 100644 --- a/java/res/values/attrs.xml +++ b/java/res/values/attrs.xml @@ -292,6 +292,7 @@ <!-- The key label flags. --> <attr name="keyLabelFlags" format="integer"> <!-- This should be aligned with Key.LABEL_FLAGS__* --> + <flag name="alignIconToBottom" value="0x04" /> <flag name="alignLeftOfCenter" value="0x08" /> <flag name="fontNormal" value="0x10" /> <flag name="fontMonoSpace" value="0x20" /> diff --git a/java/res/xml/key_styles_number.xml b/java/res/xml/key_styles_number.xml index f754b99b3..3038097d8 100644 --- a/java/res/xml/key_styles_number.xml +++ b/java/res/xml/key_styles_number.xml @@ -120,6 +120,7 @@ <key-style latin:styleName="numSpaceKeyStyle" latin:keySpec="!icon/space_key_for_number_layout|!code/key_space" + latin:keyLabelFlags="alignIconToBottom" latin:keyActionFlags="enableLongPress" latin:parentStyle="numKeyBaseStyle" /> </merge> diff --git a/java/src/com/android/inputmethod/keyboard/Key.java b/java/src/com/android/inputmethod/keyboard/Key.java index 55ce7dd34..aaa55d79c 100644 --- a/java/src/com/android/inputmethod/keyboard/Key.java +++ b/java/src/com/android/inputmethod/keyboard/Key.java @@ -58,6 +58,7 @@ public class Key implements Comparable<Key> { private final String mHintLabel; /** Flags of the label */ private final int mLabelFlags; + private static final int LABEL_FLAGS_ALIGN_ICON_TO_BOTTOM = 0x04; private static final int LABEL_FLAGS_ALIGN_LEFT_OF_CENTER = 0x08; // Font typeface specification. private static final int LABEL_FLAGS_FONT_MASK = 0x30; @@ -643,6 +644,10 @@ public class Key implements Comparable<Key> { return Typeface.DEFAULT_BOLD; } + public final boolean isAlignIconToBottom() { + return (mLabelFlags & LABEL_FLAGS_ALIGN_ICON_TO_BOTTOM) != 0; + } + public final boolean isAlignLeftOfCenter() { return (mLabelFlags & LABEL_FLAGS_ALIGN_LEFT_OF_CENTER) != 0; } diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardView.java b/java/src/com/android/inputmethod/keyboard/KeyboardView.java index 5af0be649..4a791f325 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyboardView.java +++ b/java/src/com/android/inputmethod/keyboard/KeyboardView.java @@ -456,9 +456,13 @@ public class KeyboardView extends View { iconWidth = Math.min(icon.getIntrinsicWidth(), keyWidth); } final int iconHeight = icon.getIntrinsicHeight(); - // Align center. - final int iconY = (keyHeight - iconHeight) / 2; - final int iconX = (keyWidth - iconWidth) / 2; + final int iconY; + if (key.isAlignIconToBottom()) { + iconY = keyHeight - iconHeight; + } else { + iconY = (keyHeight - iconHeight) / 2; // Align vertically center. + } + final int iconX = (keyWidth - iconWidth) / 2; // Align horizontally center. drawIcon(canvas, icon, iconX, iconY, iconWidth, iconHeight); } |