diff options
author | Winson Chung <winsonc@google.com> | 2010-12-13 12:11:33 -0800 |
---|---|---|
committer | Winson Chung <winsonc@google.com> | 2010-12-14 15:32:02 -0800 |
commit | 88127038178b3bbf0eb91103a31e682cc0615074 (patch) | |
tree | b380b586ed42782e8d9f34866dc083dec435e90b /src/com/android/launcher2/BubbleTextView.java | |
parent | 09a19c4cfc91795a11ae0b4e75b6fc6588cffee9 (diff) | |
download | android_packages_apps_Trebuchet-88127038178b3bbf0eb91103a31e682cc0615074.tar.gz android_packages_apps_Trebuchet-88127038178b3bbf0eb91103a31e682cc0615074.tar.bz2 android_packages_apps_Trebuchet-88127038178b3bbf0eb91103a31e682cc0615074.zip |
Various tweaks to launcher
- Removing hotdog for shadow bg protection
- Adding bg protection for customization tray
- Restoring holographic outlines for all apps
- Small bug fixes
Change-Id: I58d81bb490f78c76fcaf46122febc3c1aace854e
Diffstat (limited to 'src/com/android/launcher2/BubbleTextView.java')
-rw-r--r-- | src/com/android/launcher2/BubbleTextView.java | 74 |
1 files changed, 39 insertions, 35 deletions
diff --git a/src/com/android/launcher2/BubbleTextView.java b/src/com/android/launcher2/BubbleTextView.java index 855f261f8..995877b91 100644 --- a/src/com/android/launcher2/BubbleTextView.java +++ b/src/com/android/launcher2/BubbleTextView.java @@ -36,6 +36,11 @@ import com.android.launcher.R; */ public class BubbleTextView extends CacheableTextView { static final float CORNER_RADIUS = 4.0f; + static final float SHADOW_LARGE_RADIUS = 4.0f; + static final float SHADOW_SMALL_RADIUS = 1.75f; + static final float SHADOW_Y_OFFSET = 2.0f; + static final int SHADOW_LARGE_COLOUR = 0xCC000000; + static final int SHADOW_SMALL_COLOUR = 0xBB000000; static final float PADDING_H = 8.0f; static final float PADDING_V = 3.0f; @@ -83,11 +88,17 @@ public class BubbleTextView extends CacheableTextView { mPaddingV = PADDING_V * scale; } - protected int getVerticalPadding() { + protected int getCacheTopPadding() { return (int) PADDING_V; } - protected int getHorizontalPadding() { - return (int) PADDING_H; + protected int getCacheBottomPadding() { + return (int) (PADDING_V + SHADOW_LARGE_RADIUS + SHADOW_Y_OFFSET); + } + protected int getCacheLeftPadding() { + return (int) (PADDING_H + SHADOW_LARGE_RADIUS); + } + protected int getCacheRightPadding() { + return (int) (PADDING_H + SHADOW_LARGE_RADIUS); } public void applyFromShortcutInfo(ShortcutInfo info, IconCache iconCache) { @@ -126,41 +137,34 @@ public class BubbleTextView extends CacheableTextView { @Override public void draw(Canvas canvas) { - final Drawable background = mBackground; - if (background != null) { - final int scrollX = mScrollX; - final int scrollY = mScrollY; - - if (mBackgroundSizeChanged) { - background.setBounds(0, 0, mRight - mLeft, mBottom - mTop); - mBackgroundSizeChanged = false; - } - - if ((scrollX | scrollY) == 0) { - background.draw(canvas); - } else { - canvas.translate(scrollX, scrollY); - background.draw(canvas); - canvas.translate(-scrollX, -scrollY); + if (isBuildingCache()) { + // We enhance the shadow by drawing the shadow twice + this.setShadowLayer(SHADOW_LARGE_RADIUS, 0.0f, SHADOW_Y_OFFSET, SHADOW_LARGE_COLOUR); + super.draw(canvas); + this.setShadowLayer(SHADOW_SMALL_RADIUS, 0.0f, 0.0f, SHADOW_SMALL_COLOUR); + super.draw(canvas); + } else { + final Drawable background = mBackground; + if (background != null) { + final int scrollX = mScrollX; + final int scrollY = mScrollY; + + if (mBackgroundSizeChanged) { + background.setBounds(0, 0, mRight - mLeft, mBottom - mTop); + mBackgroundSizeChanged = false; + } + + if ((scrollX | scrollY) == 0) { + background.draw(canvas); + } else { + canvas.translate(scrollX, scrollY); + background.draw(canvas); + canvas.translate(-scrollX, -scrollY); + } } - } - // Draw the hotdog bubble - final Layout layout = getLayout(); - if (layout != null) { - final int offset = getExtendedPaddingTop(); - final int paddingLeft = getPaddingLeft(); - final int paddingRight = getPaddingRight(); - final float left = layout.getLineLeft(0) + paddingLeft; - final float right = Math.min(layout.getLineRight(0) + paddingRight, - left + getWidth() - paddingLeft - paddingRight); - mRect.set(left - mPaddingH, offset + (int) layout.getLineTop(0) - mPaddingV, - right + mPaddingH, offset + (int) layout.getLineBottom(0) + mPaddingV); - - canvas.drawRoundRect(mRect, mCornerRadius, mCornerRadius, mPaint); + super.draw(canvas); } - - super.draw(canvas); } @Override |