diff options
| author | Romain Guy <romainguy@google.com> | 2010-08-18 20:48:33 -0700 |
|---|---|---|
| committer | Romain Guy <romainguy@google.com> | 2010-08-18 20:48:33 -0700 |
| commit | c4d8eb6fb7c88c5c4da38b0b113c24cc4b78c0b7 (patch) | |
| tree | 0cb414e9157cef012ae08395a3cd052a2c5384bc /core/java | |
| parent | 1b196022ece4305f7619a41a84fe49f792dfb1bc (diff) | |
| download | frameworks_base-c4d8eb6fb7c88c5c4da38b0b113c24cc4b78c0b7.zip frameworks_base-c4d8eb6fb7c88c5c4da38b0b113c24cc4b78c0b7.tar.gz frameworks_base-c4d8eb6fb7c88c5c4da38b0b113c24cc4b78c0b7.tar.bz2 | |
Speedup TextView fades (no more layers required.)
Also fixes a crash in the drop shadows cache and improves
drop shadows caching.
Change-Id: I9c0208a49467f9201d786ae0c129194b8d423923
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/text/Layout.java | 2 | ||||
| -rw-r--r-- | core/java/android/widget/TextView.java | 18 |
2 files changed, 19 insertions, 1 deletions
diff --git a/core/java/android/text/Layout.java b/core/java/android/text/Layout.java index 0466c69..54ac906 100644 --- a/core/java/android/text/Layout.java +++ b/core/java/android/text/Layout.java @@ -1729,7 +1729,7 @@ public abstract class Layout { private Alignment mAlignment = Alignment.ALIGN_NORMAL; private float mSpacingMult; private float mSpacingAdd; - private static Rect sTempRect = new Rect(); + private static final Rect sTempRect = new Rect(); private boolean mSpannedText; public static final int DIR_LEFT_TO_RIGHT = 1; diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index c13ed15..0510701 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -197,6 +197,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener private static final int PRIORITY = 100; + private int mCurrentAlpha = 255; private ColorStateList mTextColor; private int mCurTextColor; private ColorStateList mHintTextColor; @@ -3857,6 +3858,22 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener } @Override + protected boolean onSetAlpha(int alpha) { + if (mMovement == null && getBackground() == null) { + mCurrentAlpha = alpha; + final Drawables dr = mDrawables; + if (dr != null) { + if (dr.mDrawableLeft != null) dr.mDrawableLeft.setAlpha(alpha); + if (dr.mDrawableTop != null) dr.mDrawableTop.setAlpha(alpha); + if (dr.mDrawableRight != null) dr.mDrawableRight.setAlpha(alpha); + if (dr.mDrawableBottom != null) dr.mDrawableBottom.setAlpha(alpha); + } + return true; + } + return false; + } + + @Override protected void onDraw(Canvas canvas) { restartMarqueeIfNeeded(); @@ -3953,6 +3970,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener } mTextPaint.setColor(color); + mTextPaint.setAlpha(mCurrentAlpha); mTextPaint.drawableState = getDrawableState(); canvas.save(); |
