summaryrefslogtreecommitdiff
path: root/java/src/com/android/inputmethod/keyboard/KeyboardView.java
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2012-03-14 14:46:22 +0900
committerTadashi G. Takaoka <takaoka@google.com>2012-03-14 19:36:24 +0900
commit73a46bfeb7a109b49be196e5d679e44c9e66a2e8 (patch)
treea196115f0d73f747653167a79d95811379b1e9ca /java/src/com/android/inputmethod/keyboard/KeyboardView.java
parent02e70cf999585d92530fd2fe73c163deed914b2d (diff)
Gray out "alt-code-while-typing" key icon while typing
Bug: 6128215 Change-Id: Ie9c13d9d38aad6e92cc465e22f3ef20c80e0a36a
Diffstat (limited to 'java/src/com/android/inputmethod/keyboard/KeyboardView.java')
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyboardView.java17
1 files changed, 16 insertions, 1 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardView.java b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
index 4c65522ec..847174c0a 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardView.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardView.java
@@ -95,6 +95,8 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
// The maximum key label width in the proportion to the key width.
private static final float MAX_LABEL_RATIO = 0.90f;
+ private final static int ALPHA_OPAQUE = 255;
+
// Main keyboard
private Keyboard mKeyboard;
private final KeyDrawParams mKeyDrawParams;
@@ -201,6 +203,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
public int mKeyHintLetterSize;
public int mKeyShiftedLetterHintSize;
public int mKeyHintLabelSize;
+ public int mAnimAlpha;
public KeyDrawParams(TypedArray a) {
mKeyBackground = a.getDrawable(R.styleable.KeyboardView_keyBackground);
@@ -256,6 +259,12 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
mKeyShiftedLetterHintSize = (int)(keyHeight * mKeyShiftedLetterHintRatio);
mKeyHintLabelSize = (int)(keyHeight * mKeyHintLabelRatio);
}
+
+ public void brendAlpha(Paint paint) {
+ final int color = paint.getColor();
+ paint.setARGB((paint.getAlpha() * mAnimAlpha) / ALPHA_OPAQUE,
+ Color.red(color), Color.green(color), Color.blue(color));
+ }
}
/* package */ static class KeyPreviewDrawParams {
@@ -343,7 +352,6 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
mPaint.setAntiAlias(true);
mPaint.setTextAlign(Align.CENTER);
- mPaint.setAlpha(255);
}
// Read fraction value in TypedArray as float.
@@ -492,6 +500,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
final int keyDrawY = key.mY + getPaddingTop();
canvas.translate(keyDrawX, keyDrawY);
+ params.mAnimAlpha = ALPHA_OPAQUE;
if (!key.isSpacer()) {
onDrawKeyBackground(key, canvas, params);
}
@@ -535,6 +544,9 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
// Draw key label.
final Drawable icon = key.getIcon(mKeyboard.mIconsSet);
+ if (icon != null) {
+ icon.setAlpha(params.mAnimAlpha);
+ }
float positionX = centerX;
if (key.mLabel != null) {
final String label = key.mLabel;
@@ -589,6 +601,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
// Make label invisible
paint.setColor(Color.TRANSPARENT);
}
+ params.brendAlpha(paint);
canvas.drawText(label, 0, label.length(), positionX, baseline, paint);
// Turn off drop shadow and reset x-scale.
paint.setShadowLayer(0, 0, 0, 0);
@@ -633,6 +646,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
hintSize = params.mKeyHintLetterSize;
}
paint.setColor(hintColor);
+ params.brendAlpha(paint);
paint.setTextSize(hintSize);
final float hintX, hintY;
if (key.hasHintLabel()) {
@@ -701,6 +715,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
paint.setTextSize(params.mKeyHintLetterSize);
paint.setColor(params.mKeyHintLabelColor);
+ params.brendAlpha(paint);
paint.setTextAlign(Align.CENTER);
final float hintX = keyWidth - params.mKeyHintLetterPadding
- getCharWidth(KEY_LABEL_REFERENCE_CHAR, paint) / 2;