diff options
| author | Tadashi G. Takaoka <takaoka@google.com> | 2013-01-21 16:36:25 +0900 |
|---|---|---|
| committer | Tadashi G. Takaoka <takaoka@google.com> | 2013-01-21 16:54:08 +0900 |
| commit | f3c4cd45a5df6f90b922ea44db259e53117bb25a (patch) | |
| tree | 32fbded4295230394ae4c4b9b3ba27160a84750e /java/src/com/android/inputmethod/keyboard/MainKeyboardView.java | |
| parent | bde94dd96f6dbceeb0a00cb02dfc8064bd6c46fa (diff) | |
Move dimming keyboard to MainKeyboardView
Change-Id: Id44d4b758c8b92d1120d3a8b06812dc1fc26390c
Diffstat (limited to 'java/src/com/android/inputmethod/keyboard/MainKeyboardView.java')
| -rw-r--r-- | java/src/com/android/inputmethod/keyboard/MainKeyboardView.java | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java b/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java index 83b37f1b1..ba9cb1f1e 100644 --- a/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java +++ b/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java @@ -24,6 +24,7 @@ import android.content.pm.PackageManager; import android.content.res.Resources; import android.content.res.TypedArray; import android.graphics.Canvas; +import android.graphics.Color; import android.graphics.Paint; import android.graphics.Paint.Align; import android.graphics.Typeface; @@ -98,6 +99,7 @@ import java.util.WeakHashMap; * @attr ref R.styleable#MainKeyboardView_keyPreviewHeight * @attr ref R.styleable#MainKeyboardView_keyPreviewLingerTimeout * @attr ref R.styleable#MainKeyboardView_moreKeysKeyboardLayout + * @attr ref R.styleable#MainKeyboardView_backgroundDimAlpha * @attr ref R.styleable#MainKeyboardView_showMoreKeysKeyboardAtTouchPoint * @attr ref R.styleable#MainKeyboardView_gestureFloatingPreviewTextLingerTimeout * @attr ref R.styleable#MainKeyboardView_gestureStaticTimeThresholdAfterFastTyping @@ -164,6 +166,8 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack private int mKeyPreviewLingerTimeout; // More keys keyboard + private final Paint mBackgroundDimAlphaPaint = new Paint(); + private boolean mNeedsToDimEntireKeyboard; private final WeakHashMap<Key, MoreKeysPanel> mMoreKeysPanelCache = new WeakHashMap<Key, MoreKeysPanel>(); private final int mMoreKeysLayout; @@ -492,6 +496,10 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack final TypedArray mainKeyboardViewAttr = context.obtainStyledAttributes( attrs, R.styleable.MainKeyboardView, defStyle, R.style.MainKeyboardView); + final int backgroundDimAlpha = mainKeyboardViewAttr.getInt( + R.styleable.MainKeyboardView_backgroundDimAlpha, 0); + mBackgroundDimAlphaPaint.setColor(Color.BLACK); + mBackgroundDimAlphaPaint.setAlpha(backgroundDimAlpha); mAutoCorrectionSpacebarLedEnabled = mainKeyboardViewAttr.getBoolean( R.styleable.MainKeyboardView_autoCorrectionSpacebarLedEnabled, false); mAutoCorrectionSpacebarLedIcon = mainKeyboardViewAttr.getDrawable( @@ -1306,6 +1314,24 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack invalidateKey(mSpaceKey); } + public void dimEntireKeyboard(final boolean dimmed) { + final boolean needsRedrawing = mNeedsToDimEntireKeyboard != dimmed; + mNeedsToDimEntireKeyboard = dimmed; + if (needsRedrawing) { + invalidateAllKeys(); + } + } + + @Override + protected void onDraw(final Canvas canvas) { + super.onDraw(canvas); + + // Overlay a dark rectangle to dim. + if (mNeedsToDimEntireKeyboard) { + canvas.drawRect(0, 0, getWidth(), getHeight(), mBackgroundDimAlphaPaint); + } + } + @Override protected void onDrawKeyTopVisuals(final Key key, final Canvas canvas, final Paint paint, final KeyDrawParams params) { |
