aboutsummaryrefslogtreecommitdiffstats
path: root/java/src
diff options
context:
space:
mode:
authorKen Wakasa <kwakasa@google.com>2014-08-07 11:35:54 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-08-04 23:56:40 +0000
commit1c7e6f8d6ec82a09e2231ba822676fef56250f78 (patch)
tree722314985dde4b8b897cb32ff88bf1e9ce97a61f /java/src
parentb6665d958a78ed0bd726e67b4dad9cec91ab2c3c (diff)
parent02c4a80afea802859c5cb4d1033a7374c3132c96 (diff)
downloadlatinime-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.java5
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyboardView.java37
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.