diff options
author | 2012-08-30 16:05:40 +0900 | |
---|---|---|
committer | 2012-08-30 16:14:32 +0900 | |
commit | 749cc1875164e38ca24d31d0d718603232abccb8 (patch) | |
tree | 0869b09561fac301970f1fa165bcb78a3db8f71b /java/src | |
parent | 35ff94547c16c84c5b6fafdae0b4a683be782b97 (diff) | |
download | latinime-749cc1875164e38ca24d31d0d718603232abccb8.tar.gz latinime-749cc1875164e38ca24d31d0d718603232abccb8.tar.xz latinime-749cc1875164e38ca24d31d0d718603232abccb8.zip |
Move some key top visual attributes from KeyboardView to Key
Change-Id: I1e2d59bf8c438ca653e2e415ccf66fd4f15d5394
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/com/android/inputmethod/keyboard/KeyboardView.java | 144 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java | 25 |
2 files changed, 89 insertions, 80 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardView.java b/java/src/com/android/inputmethod/keyboard/KeyboardView.java index b909a3ab6..c37285c00 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyboardView.java +++ b/java/src/com/android/inputmethod/keyboard/KeyboardView.java @@ -188,8 +188,8 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { public final float mKeyHintLetterPadding; public final float mKeyPopupHintLetterPadding; public final float mKeyShiftedLetterHintPadding; - public final int mShadowColor; - public final float mShadowRadius; + public final int mKeyTextShadowColor; + public final float mKeyTextShadowRadius; public final Drawable mKeyBackground; public final int mKeyHintLetterColor; public final int mKeyHintLabelColor; @@ -217,52 +217,55 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { public int mKeyHintLabelSize; public int mAnimAlpha; - public KeyDrawParams(final TypedArray a) { - mKeyBackground = a.getDrawable(R.styleable.KeyboardView_keyBackground); - mKeyLetterRatio = ResourceUtils.getFraction(a, R.styleable.KeyboardView_keyLetterSize); - mKeyLetterSizeFromKeyboardView = ResourceUtils.getDimensionPixelSize(a, - R.styleable.KeyboardView_keyLetterSize); - mKeyLabelRatio = ResourceUtils.getFraction(a, R.styleable.KeyboardView_keyLabelSize); - mKeyLabelSize = ResourceUtils.getDimensionPixelSize(a, - R.styleable.KeyboardView_keyLabelSize); - mKeyLargeLabelRatio = ResourceUtils.getFraction(a, - R.styleable.KeyboardView_keyLargeLabelRatio); - mKeyLargeLetterRatio = ResourceUtils.getFraction(a, - R.styleable.KeyboardView_keyLargeLetterRatio); - mKeyHintLetterRatio = ResourceUtils.getFraction(a, - R.styleable.KeyboardView_keyHintLetterRatio); - mKeyShiftedLetterHintRatio = ResourceUtils.getFraction(a, - R.styleable.KeyboardView_keyShiftedLetterHintRatio); - mKeyHintLabelRatio = ResourceUtils.getFraction(a, - R.styleable.KeyboardView_keyHintLabelRatio); - mKeyLabelHorizontalPadding = a.getDimension( - R.styleable.KeyboardView_keyLabelHorizontalPadding, 0); - mKeyHintLetterPadding = a.getDimension( - R.styleable.KeyboardView_keyHintLetterPadding, 0); - mKeyPopupHintLetterPadding = a.getDimension( - R.styleable.KeyboardView_keyPopupHintLetterPadding, 0); - mKeyShiftedLetterHintPadding = a.getDimension( - R.styleable.KeyboardView_keyShiftedLetterHintPadding, 0); - mKeyTextColor = a.getColor( - R.styleable.KeyboardView_keyTextColor, Color.WHITE); - mKeyTextInactivatedColor = a.getColor( - R.styleable.KeyboardView_keyTextInactivatedColor, Color.WHITE); - mKeyHintLetterColor = a.getColor( - R.styleable.KeyboardView_keyHintLetterColor, Color.TRANSPARENT); - mKeyHintLabelColor = a.getColor( - R.styleable.KeyboardView_keyHintLabelColor, Color.TRANSPARENT); - mKeyShiftedLetterHintInactivatedColor = a.getColor( - R.styleable.KeyboardView_keyShiftedLetterHintInactivatedColor, + public KeyDrawParams(final TypedArray keyboardViewAttr, final TypedArray keyAttr) { + mKeyBackground = keyboardViewAttr.getDrawable(R.styleable.KeyboardView_keyBackground); + mKeyBackground.getPadding(mPadding); + + mKeyLetterRatio = ResourceUtils.getFraction(keyAttr, + R.styleable.Keyboard_Key_keyLetterSize); + mKeyLetterSizeFromKeyboardView = ResourceUtils.getDimensionPixelSize(keyAttr, + R.styleable.Keyboard_Key_keyLetterSize); + mKeyLabelRatio = ResourceUtils.getFraction(keyAttr, + R.styleable.Keyboard_Key_keyLabelSize); + mKeyLabelSize = ResourceUtils.getDimensionPixelSize(keyAttr, + R.styleable.Keyboard_Key_keyLabelSize); + mKeyLargeLabelRatio = ResourceUtils.getFraction(keyAttr, + R.styleable.Keyboard_Key_keyLargeLabelRatio); + mKeyLargeLetterRatio = ResourceUtils.getFraction(keyAttr, + R.styleable.Keyboard_Key_keyLargeLetterRatio); + mKeyHintLetterRatio = ResourceUtils.getFraction(keyAttr, + R.styleable.Keyboard_Key_keyHintLetterRatio); + mKeyShiftedLetterHintRatio = ResourceUtils.getFraction(keyAttr, + R.styleable.Keyboard_Key_keyShiftedLetterHintRatio); + mKeyHintLabelRatio = ResourceUtils.getFraction(keyAttr, + R.styleable.Keyboard_Key_keyHintLabelRatio); + mKeyLabelHorizontalPadding = keyAttr.getDimension( + R.styleable.Keyboard_Key_keyLabelHorizontalPadding, 0); + mKeyHintLetterPadding = keyAttr.getDimension( + R.styleable.Keyboard_Key_keyHintLetterPadding, 0); + mKeyPopupHintLetterPadding = keyAttr.getDimension( + R.styleable.Keyboard_Key_keyPopupHintLetterPadding, 0); + mKeyShiftedLetterHintPadding = keyAttr.getDimension( + R.styleable.Keyboard_Key_keyShiftedLetterHintPadding, 0); + mKeyTextColor = keyAttr.getColor( + R.styleable.Keyboard_Key_keyTextColor, Color.WHITE); + mKeyTextInactivatedColor = keyAttr.getColor( + R.styleable.Keyboard_Key_keyTextInactivatedColor, Color.WHITE); + mKeyHintLetterColor = keyAttr.getColor( + R.styleable.Keyboard_Key_keyHintLetterColor, Color.TRANSPARENT); + mKeyHintLabelColor = keyAttr.getColor( + R.styleable.Keyboard_Key_keyHintLabelColor, Color.TRANSPARENT); + mKeyShiftedLetterHintInactivatedColor = keyAttr.getColor( + R.styleable.Keyboard_Key_keyShiftedLetterHintInactivatedColor, Color.TRANSPARENT); - mKeyShiftedLetterHintActivatedColor = a.getColor( - R.styleable.KeyboardView_keyShiftedLetterHintActivatedColor, Color.TRANSPARENT); + mKeyShiftedLetterHintActivatedColor = keyAttr.getColor( + R.styleable.Keyboard_Key_keyShiftedLetterHintActivatedColor, Color.TRANSPARENT); mKeyTypefaceFromKeyboardView = Typeface.defaultFromStyle( - a.getInt(R.styleable.KeyboardView_keyTypeface, Typeface.NORMAL)); - mKeyTypeface = mKeyTypefaceFromKeyboardView; - mShadowColor = a.getColor(R.styleable.KeyboardView_shadowColor, Color.TRANSPARENT); - mShadowRadius = a.getFloat(R.styleable.KeyboardView_shadowRadius, 0f); - - mKeyBackground.getPadding(mPadding); + keyAttr.getInt(R.styleable.Keyboard_Key_keyTypeface, Typeface.NORMAL)); + mKeyTextShadowColor = keyAttr.getColor( + R.styleable.Keyboard_Key_keyTextShadowColor, Color.TRANSPARENT); + mKeyTextShadowRadius = keyAttr.getFloat( + R.styleable.Keyboard_Key_keyTextShadowRadius, 0f); } public void updateParams(final Keyboard keyboard) { @@ -357,23 +360,26 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { private static final int PREVIEW_ALPHA = 240; - public KeyPreviewDrawParams(final TypedArray a) { - mPreviewBackground = a.getDrawable(R.styleable.KeyboardView_keyPreviewBackground); - mPreviewLeftBackground = a.getDrawable( + public KeyPreviewDrawParams(final TypedArray keyboardViewAttr, final TypedArray keyAttr) { + mPreviewBackground = keyboardViewAttr.getDrawable( + R.styleable.KeyboardView_keyPreviewBackground); + mPreviewLeftBackground = keyboardViewAttr.getDrawable( R.styleable.KeyboardView_keyPreviewLeftBackground); - mPreviewRightBackground = a.getDrawable( + mPreviewRightBackground = keyboardViewAttr.getDrawable( R.styleable.KeyboardView_keyPreviewRightBackground); setAlpha(mPreviewBackground, PREVIEW_ALPHA); setAlpha(mPreviewLeftBackground, PREVIEW_ALPHA); setAlpha(mPreviewRightBackground, PREVIEW_ALPHA); - mPreviewOffset = a.getDimensionPixelOffset( + mPreviewOffset = keyboardViewAttr.getDimensionPixelOffset( R.styleable.KeyboardView_keyPreviewOffset, 0); - mPreviewHeight = a.getDimensionPixelSize( + mPreviewHeight = keyboardViewAttr.getDimensionPixelSize( R.styleable.KeyboardView_keyPreviewHeight, 80); - mPreviewTextRatio = ResourceUtils.getFraction(a, - R.styleable.KeyboardView_keyPreviewTextRatio); - mPreviewTextColor = a.getColor(R.styleable.KeyboardView_keyPreviewTextColor, 0); - mLingerTimeout = a.getInt(R.styleable.KeyboardView_keyPreviewLingerTimeout, 0); + mLingerTimeout = keyboardViewAttr.getInt( + R.styleable.KeyboardView_keyPreviewLingerTimeout, 0); + + mPreviewTextRatio = ResourceUtils.getFraction(keyAttr, + R.styleable.Keyboard_Key_keyPreviewTextRatio); + mPreviewTextColor = keyAttr.getColor(R.styleable.Keyboard_Key_keyPreviewTextColor, 0); } public void updateParams(final Keyboard keyboard, final KeyDrawParams keyDrawParams) { @@ -398,20 +404,26 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { public KeyboardView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); - final TypedArray a = context.obtainStyledAttributes( - attrs, R.styleable.KeyboardView, defStyle, R.style.KeyboardView); - mKeyDrawParams = new KeyDrawParams(a); - mKeyPreviewDrawParams = new KeyPreviewDrawParams(a); + final TypedArray keyboardViewAttr = context.obtainStyledAttributes(attrs, + R.styleable.KeyboardView, defStyle, R.style.KeyboardView); + final TypedArray keyAttr = context.obtainStyledAttributes(attrs, + R.styleable.Keyboard_Key, defStyle, R.style.KeyboardView); + mKeyDrawParams = new KeyDrawParams(keyboardViewAttr, keyAttr); + mKeyPreviewDrawParams = new KeyPreviewDrawParams(keyboardViewAttr, keyAttr); mDelayAfterPreview = mKeyPreviewDrawParams.mLingerTimeout; - mKeyPreviewLayoutId = a.getResourceId(R.styleable.KeyboardView_keyPreviewLayout, 0); + mKeyPreviewLayoutId = keyboardViewAttr.getResourceId( + R.styleable.KeyboardView_keyPreviewLayout, 0); if (mKeyPreviewLayoutId == 0) { mShowKeyPreviewPopup = false; } - mVerticalCorrection = a.getDimensionPixelOffset( + mVerticalCorrection = keyboardViewAttr.getDimensionPixelOffset( R.styleable.KeyboardView_verticalCorrection, 0); - mMoreKeysLayout = a.getResourceId(R.styleable.KeyboardView_moreKeysLayout, 0); - mBackgroundDimAlpha = a.getInt(R.styleable.KeyboardView_backgroundDimAlpha, 0); - a.recycle(); + mMoreKeysLayout = keyboardViewAttr.getResourceId( + R.styleable.KeyboardView_moreKeysLayout, 0); + mBackgroundDimAlpha = keyboardViewAttr.getInt( + R.styleable.KeyboardView_backgroundDimAlpha, 0); + keyboardViewAttr.recycle(); + keyAttr.recycle(); mPreviewPlacerView = new PreviewPlacerView(context, attrs); mPaint.setAntiAlias(true); @@ -705,7 +717,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy { ? params.mKeyTextInactivatedColor : params.mKeyTextColor); if (key.isEnabled()) { // Set a drop shadow for the text - paint.setShadowLayer(params.mShadowRadius, 0, 0, params.mShadowColor); + paint.setShadowLayer(params.mKeyTextShadowRadius, 0, 0, params.mKeyTextShadowColor); } else { // Make label invisible paint.setColor(Color.TRANSPARENT); diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java index c20b45534..3d1045f88 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java +++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardBuilder.java @@ -237,8 +237,6 @@ public class KeyboardBuilder<KP extends KeyboardParams> { R.style.Keyboard); final TypedArray keyAttr = mResources.obtainAttributes(Xml.asAttributeSet(parser), R.styleable.Keyboard_Key); - final TypedArray keyboardViewAttr = mResources.obtainAttributes( - Xml.asAttributeSet(parser), R.styleable.KeyboardView); try { final int displayHeight = mDisplayMetrics.heightPixels; final String keyboardHeightString = ResourceUtils.getDeviceOverrideValue( @@ -291,18 +289,18 @@ public class KeyboardBuilder<KP extends KeyboardParams> { R.styleable.Keyboard_rowHeight, params.mBaseHeight, params.mBaseHeight / DEFAULT_KEYBOARD_ROWS); - if (keyboardViewAttr.hasValue(R.styleable.KeyboardView_keyTypeface)) { - params.mKeyTypeface = Typeface.defaultFromStyle(keyboardViewAttr.getInt( - R.styleable.KeyboardView_keyTypeface, Typeface.NORMAL)); + if (keyAttr.hasValue(R.styleable.Keyboard_Key_keyTypeface)) { + params.mKeyTypeface = Typeface.defaultFromStyle(keyAttr.getInt( + R.styleable.Keyboard_Key_keyTypeface, Typeface.NORMAL)); } - params.mKeyLetterRatio = ResourceUtils.getFraction(keyboardViewAttr, - R.styleable.KeyboardView_keyLetterSize); - params.mKeyLetterSize = ResourceUtils.getDimensionPixelSize(keyboardViewAttr, - R.styleable.KeyboardView_keyLetterSize); - params.mKeyHintLetterRatio = ResourceUtils.getFraction(keyboardViewAttr, - R.styleable.KeyboardView_keyHintLetterRatio); - params.mKeyShiftedLetterHintRatio = ResourceUtils.getFraction(keyboardViewAttr, - R.styleable.KeyboardView_keyShiftedLetterHintRatio); + params.mKeyLetterRatio = ResourceUtils.getFraction(keyAttr, + R.styleable.Keyboard_Key_keyLetterSize); + params.mKeyLetterSize = ResourceUtils.getDimensionPixelSize(keyAttr, + R.styleable.Keyboard_Key_keyLetterSize); + params.mKeyHintLetterRatio = ResourceUtils.getFraction(keyAttr, + R.styleable.Keyboard_Key_keyHintLetterRatio); + params.mKeyShiftedLetterHintRatio = ResourceUtils.getFraction(keyAttr, + R.styleable.Keyboard_Key_keyShiftedLetterHintRatio); params.mMoreKeysTemplate = keyboardAttr.getResourceId( R.styleable.Keyboard_moreKeysTemplate, 0); @@ -334,7 +332,6 @@ public class KeyboardBuilder<KP extends KeyboardParams> { params.mTouchPositionCorrection.load(data); } } finally { - keyboardViewAttr.recycle(); keyAttr.recycle(); keyboardAttr.recycle(); } |