Set divider icon's alpha value on the fly

Bug: 6183494
Change-Id: I61a0c7617648d9c52e5001b3479afa0ab4913adc
This commit is contained in:
Tadashi G. Takaoka 2012-05-16 17:41:56 +09:00
parent f91739b41e
commit 1f2d0aa6c9
5 changed files with 19 additions and 14 deletions

View file

@ -571,9 +571,13 @@ public class Key {
return (mMoreKeysColumnAndFlags & MORE_KEYS_FLAGS_EMBEDDED_MORE_KEY) != 0;
}
public Drawable getIcon(KeyboardIconsSet iconSet) {
public Drawable getIcon(KeyboardIconsSet iconSet, int alpha) {
final int iconId = mEnabled ? mIconId : mDisabledIconId;
return iconSet.getIconDrawable(iconId);
final Drawable icon = iconSet.getIconDrawable(iconId);
if (icon != null) {
icon.setAlpha(alpha);
}
return icon;
}
public Drawable getPreviewIcon(KeyboardIconsSet iconSet) {

View file

@ -560,10 +560,7 @@ 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);
}
final Drawable icon = key.getIcon(mKeyboard.mIconsSet, params.mAnimAlpha);
float positionX = centerX;
if (key.mLabel != null) {
final String label = key.mLabel;

View file

@ -459,7 +459,8 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke
mMoreKeysPanelCache.clear();
mSpaceKey = keyboard.getKey(Keyboard.CODE_SPACE);
mSpaceIcon = (mSpaceKey != null) ? mSpaceKey.getIcon(keyboard.mIconsSet) : null;
mSpaceIcon = (mSpaceKey != null)
? mSpaceKey.getIcon(keyboard.mIconsSet, ALPHA_OPAQUE) : null;
final int keyHeight = keyboard.mMostCommonKeyHeight - keyboard.mVerticalGap;
mSpacebarTextSize = keyHeight * mSpacebarTextRatio;
if (ProductionFlag.IS_EXPERIMENTAL) {

View file

@ -289,8 +289,6 @@ public class MoreKeysKeyboard extends Keyboard {
final int dividerWidth;
if (parentKey.needsDividersInMoreKeys()) {
mDivider = mResources.getDrawable(R.drawable.more_keys_divider);
// TODO: Drawable itself should have an alpha value.
mDivider.setAlpha(128);
dividerWidth = (int)(width * DIVIDER_RATIO);
} else {
mDivider = null;
@ -333,8 +331,11 @@ public class MoreKeysKeyboard extends Keyboard {
}
@Override
public Drawable getIcon(KeyboardIconsSet iconSet) {
// KeyboardIconsSet is unused. Use the icon that has been passed to the constructor.
public Drawable getIcon(KeyboardIconsSet iconSet, int alpha) {
// KeyboardIconsSet and alpha are unused. Use the icon that has been passed to the
// constructor.
// TODO: Drawable itself should have an alpha value.
mIcon.setAlpha(128);
return mIcon;
}
}

View file

@ -56,8 +56,6 @@ public class MoreSuggestions extends Keyboard {
clearKeys();
final Resources res = view.getContext().getResources();
mDivider = res.getDrawable(R.drawable.more_suggestions_divider);
// TODO: Drawable itself should have an alpha value.
mDivider.setAlpha(128);
mDividerWidth = mDivider.getIntrinsicWidth();
final int padding = (int) res.getDimension(
R.dimen.more_suggestions_key_horizontal_padding);
@ -195,7 +193,11 @@ public class MoreSuggestions extends Keyboard {
}
@Override
public Drawable getIcon(KeyboardIconsSet iconSet) {
public Drawable getIcon(KeyboardIconsSet iconSet, int alpha) {
// KeyboardIconsSet and alpha are unused. Use the icon that has been passed to the
// constructor.
// TODO: Drawable itself should have an alpha value.
mIcon.setAlpha(128);
return mIcon;
}
}