Use FontMetrics.top and padding to place keyHintLetter
Bug: 6225638 Change-Id: Ia3680d84bd1e7ccbdb87aedca106641c6d270677main
parent
dd7871b36a
commit
72fb8e05f9
|
@ -124,6 +124,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
|
||||||
/** The canvas for the above mutable keyboard bitmap */
|
/** The canvas for the above mutable keyboard bitmap */
|
||||||
private Canvas mCanvas;
|
private Canvas mCanvas;
|
||||||
private final Paint mPaint = new Paint();
|
private final Paint mPaint = new Paint();
|
||||||
|
private final Paint.FontMetrics mFontMetrics = new Paint.FontMetrics();
|
||||||
// This map caches key label text height in pixel as value and key label text size as map key.
|
// This map caches key label text height in pixel as value and key label text size as map key.
|
||||||
private static final HashMap<Integer, Float> sTextHeightCache =
|
private static final HashMap<Integer, Float> sTextHeightCache =
|
||||||
new HashMap<Integer, Float>();
|
new HashMap<Integer, Float>();
|
||||||
|
@ -659,13 +660,14 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
|
||||||
// The hint label is placed at top-right corner of the key. Used mainly on tablet.
|
// The hint label is placed at top-right corner of the key. Used mainly on tablet.
|
||||||
hintX = keyWidth - params.mKeyShiftedLetterHintPadding
|
hintX = keyWidth - params.mKeyShiftedLetterHintPadding
|
||||||
- getCharWidth(KEY_LABEL_REFERENCE_CHAR, paint) / 2;
|
- getCharWidth(KEY_LABEL_REFERENCE_CHAR, paint) / 2;
|
||||||
hintY = -paint.ascent();
|
paint.getFontMetrics(mFontMetrics);
|
||||||
|
hintY = -mFontMetrics.top + params.mKeyShiftedLetterHintPadding;
|
||||||
paint.setTextAlign(Align.CENTER);
|
paint.setTextAlign(Align.CENTER);
|
||||||
} else { // key.hasHintLetter()
|
} else { // key.hasHintLetter()
|
||||||
// The hint label is placed at top-right corner of the key. Used mainly on phone.
|
// The hint label is placed at top-right corner of the key. Used mainly on phone.
|
||||||
hintX = keyWidth - params.mKeyHintLetterPadding
|
hintX = keyWidth - params.mKeyHintLetterPadding
|
||||||
- getCharWidth(KEY_NUMERIC_HINT_LABEL_REFERENCE_CHAR, paint) / 2;
|
- getCharWidth(KEY_NUMERIC_HINT_LABEL_REFERENCE_CHAR, paint) / 2;
|
||||||
hintY = -paint.ascent();
|
hintY = -paint.ascent() + params.mKeyHintLetterPadding;
|
||||||
paint.setTextAlign(Align.CENTER);
|
paint.setTextAlign(Align.CENTER);
|
||||||
}
|
}
|
||||||
canvas.drawText(hint, 0, hint.length(), hintX, hintY, paint);
|
canvas.drawText(hint, 0, hint.length(), hintX, hintY, paint);
|
||||||
|
|
Loading…
Reference in New Issue