diff options
author | 2014-08-07 11:35:54 +0000 | |
---|---|---|
committer | 2014-08-04 23:56:40 +0000 | |
commit | 1c7e6f8d6ec82a09e2231ba822676fef56250f78 (patch) | |
tree | 722314985dde4b8b897cb32ff88bf1e9ce97a61f /java/src | |
parent | b6665d958a78ed0bd726e67b4dad9cec91ab2c3c (diff) | |
parent | 02c4a80afea802859c5cb4d1033a7374c3132c96 (diff) | |
download | latinime-1c7e6f8d6ec82a09e2231ba822676fef56250f78.tar.gz latinime-1c7e6f8d6ec82a09e2231ba822676fef56250f78.tar.xz latinime-1c7e6f8d6ec82a09e2231ba822676fef56250f78.zip |
Merge "Revert "Align hint label to bottom"" into lmp-dev
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/com/android/inputmethod/keyboard/Key.java | 5 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/keyboard/KeyboardView.java | 37 |
2 files changed, 12 insertions, 30 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/Key.java b/java/src/com/android/inputmethod/keyboard/Key.java index 618d38962..f8c005845 100644 --- a/java/src/com/android/inputmethod/keyboard/Key.java +++ b/java/src/com/android/inputmethod/keyboard/Key.java @@ -58,7 +58,6 @@ 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_HINT_LABEL_TO_BOTTOM = 0x02; private static final int LABEL_FLAGS_ALIGN_ICON_TO_BOTTOM = 0x04; private static final int LABEL_FLAGS_ALIGN_LABEL_OFF_CENTER = 0x08; // Font typeface specification. @@ -642,10 +641,6 @@ public class Key implements Comparable<Key> { return Typeface.DEFAULT_BOLD; } - public final boolean isAlignHintLabelToBottom(final int defaultFlags) { - return ((mLabelFlags | defaultFlags) & LABEL_FLAGS_ALIGN_HINT_LABEL_TO_BOTTOM) != 0; - } - public final boolean isAlignIconToBottom() { return (mLabelFlags & LABEL_FLAGS_ALIGN_ICON_TO_BOTTOM) != 0; } diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardView.java b/java/src/com/android/inputmethod/keyboard/KeyboardView.java index 075cd901d..72b254756 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyboardView.java +++ b/java/src/com/android/inputmethod/keyboard/KeyboardView.java @@ -48,7 +48,6 @@ import java.util.HashSet; * @attr ref R.styleable#KeyboardView_functionalKeyBackground * @attr ref R.styleable#KeyboardView_spacebarBackground * @attr ref R.styleable#KeyboardView_spacebarIconWidthRatio - * @attr ref R.styleable#Keyboard_Key_keyLabelFlags * @attr ref R.styleable#KeyboardView_keyHintLetterPadding * @attr ref R.styleable#KeyboardView_keyPopupHintLetter * @attr ref R.styleable#KeyboardView_keyPopupHintLetterPadding @@ -63,8 +62,6 @@ import java.util.HashSet; * @attr ref R.styleable#Keyboard_Key_keyHintLetterRatio * @attr ref R.styleable#Keyboard_Key_keyShiftedLetterHintRatio * @attr ref R.styleable#Keyboard_Key_keyHintLabelRatio - * @attr ref R.styleable#Keyboard_Key_keyLabelOffCenterRatio - * @attr ref R.styleable#Keyboard_Key_keyHintLabelOffCenterRatio * @attr ref R.styleable#Keyboard_Key_keyPreviewTextRatio * @attr ref R.styleable#Keyboard_Key_keyTextColor * @attr ref R.styleable#Keyboard_Key_keyTextColorDisabled @@ -78,9 +75,6 @@ import java.util.HashSet; public class KeyboardView extends View { // XML attributes private final KeyVisualAttributes mKeyVisualAttributes; - // Default keyLabelFlags from {@link KeyboardTheme}. - // Currently only "alignHintLabelToBottom" is supported. - private final int mDefaultKeyLabelFlags; private final float mKeyHintLetterPadding; private final String mKeyPopupHintLetter; private final float mKeyPopupHintLetterPadding; @@ -152,7 +146,6 @@ public class KeyboardView extends View { final TypedArray keyAttr = context.obtainStyledAttributes(attrs, R.styleable.Keyboard_Key, defStyle, R.style.KeyboardView); - mDefaultKeyLabelFlags = keyAttr.getInt(R.styleable.Keyboard_Key_keyLabelFlags, 0); mKeyVisualAttributes = KeyVisualAttributes.newInstance(keyAttr); keyAttr.recycle(); @@ -364,8 +357,7 @@ public class KeyboardView extends View { // Draw key label. final Drawable icon = key.getIcon(mKeyboard.mIconsSet, params.mAnimAlpha); - float labelX = centerX; - float labelBaseline = centerY; + float positionX = centerX; final String label = key.getLabel(); if (label != null) { paint.setTypeface(key.selectTypeface(params)); @@ -374,15 +366,15 @@ public class KeyboardView extends View { final float labelCharWidth = TypefaceUtils.getReferenceCharWidth(paint); // Vertical label text alignment. - labelBaseline = centerY + labelCharHeight / 2.0f; + final float baseline = centerY + labelCharHeight / 2.0f; // Horizontal label text alignment if (key.isAlignLabelOffCenter()) { // The label is placed off center of the key. Used mainly on "phone number" layout. - labelX = centerX + params.mLabelOffCenterRatio * labelCharWidth; + positionX = centerX + params.mLabelOffCenterRatio * labelCharWidth; paint.setTextAlign(Align.LEFT); } else { - labelX = centerX; + positionX = centerX; paint.setTextAlign(Align.CENTER); } if (key.needsAutoXScale()) { @@ -410,7 +402,7 @@ public class KeyboardView extends View { paint.clearShadowLayer(); } blendAlpha(paint, params.mAnimAlpha); - canvas.drawText(label, 0, label.length(), labelX, labelBaseline, paint); + canvas.drawText(label, 0, label.length(), positionX, baseline, paint); // Turn off drop shadow and reset x-scale. paint.clearShadowLayer(); paint.setTextScaleX(1.0f); @@ -426,22 +418,19 @@ public class KeyboardView extends View { blendAlpha(paint, params.mAnimAlpha); final float labelCharHeight = TypefaceUtils.getReferenceCharHeight(paint); final float labelCharWidth = TypefaceUtils.getReferenceCharWidth(paint); - final float hintX, hintBaseline; + final float adjustmentY = params.mHintLabelVerticalAdjustment * labelCharHeight; + final float hintX, hintY; if (key.hasHintLabel()) { // The hint label is placed just right of the key label. Used mainly on // "phone number" layout. - hintX = labelX + params.mHintLabelOffCenterRatio * labelCharWidth; - if (key.isAlignHintLabelToBottom(mDefaultKeyLabelFlags)) { - hintBaseline = labelBaseline; - } else { - hintBaseline = centerY + labelCharHeight / 2.0f; - } + hintX = positionX + params.mHintLabelOffCenterRatio * labelCharWidth; + hintY = centerY + labelCharHeight / 2.0f; paint.setTextAlign(Align.LEFT); } else if (key.hasShiftedLetterHint()) { // The hint label is placed at top-right corner of the key. Used mainly on tablet. hintX = keyWidth - mKeyShiftedLetterHintPadding - labelCharWidth / 2.0f; paint.getFontMetrics(mFontMetrics); - hintBaseline = -mFontMetrics.top; + hintY = -mFontMetrics.top; paint.setTextAlign(Align.CENTER); } else { // key.hasHintLetter() // The hint letter is placed at top-right corner of the key. Used mainly on phone. @@ -449,12 +438,10 @@ public class KeyboardView extends View { final float hintLabelWidth = TypefaceUtils.getStringWidth(hintLabel, paint); hintX = keyWidth - mKeyHintLetterPadding - Math.max(hintDigitWidth, hintLabelWidth) / 2.0f; - hintBaseline = -paint.ascent(); + hintY = -paint.ascent(); paint.setTextAlign(Align.CENTER); } - final float adjustmentY = params.mHintLabelVerticalAdjustment * labelCharHeight; - canvas.drawText( - hintLabel, 0, hintLabel.length(), hintX, hintBaseline + adjustmentY, paint); + canvas.drawText(hintLabel, 0, hintLabel.length(), hintX, hintY + adjustmentY, paint); } // Draw key icon. |