Loading java/res/values/attrs.xml +1 −0 Original line number Diff line number Diff line Loading @@ -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" /> Loading java/res/xml/key_styles_number.xml +1 −0 Original line number Diff line number Diff line Loading @@ -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> java/src/com/android/inputmethod/keyboard/Key.java +5 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; } Loading java/src/com/android/inputmethod/keyboard/KeyboardView.java +7 −3 Original line number Diff line number Diff line Loading @@ -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); } Loading Loading
java/res/values/attrs.xml +1 −0 Original line number Diff line number Diff line Loading @@ -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" /> Loading
java/res/xml/key_styles_number.xml +1 −0 Original line number Diff line number Diff line Loading @@ -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>
java/src/com/android/inputmethod/keyboard/Key.java +5 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; } Loading
java/src/com/android/inputmethod/keyboard/KeyboardView.java +7 −3 Original line number Diff line number Diff line Loading @@ -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); } Loading