Merge change 5289 into donut

* changes:
  Fix TextView's fading edge when compound drawables are setup.
This commit is contained in:
Android (Google) Code Review
2009-06-24 17:18:48 -07:00

View File

@@ -3681,12 +3681,13 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
@Override @Override
protected boolean isPaddingOffsetRequired() { protected boolean isPaddingOffsetRequired() {
return mShadowRadius != 0; return mShadowRadius != 0 || mDrawables != null;
} }
@Override @Override
protected int getLeftPaddingOffset() { protected int getLeftPaddingOffset() {
return (int) Math.min(0, mShadowDx - mShadowRadius); return getCompoundPaddingLeft() - mPaddingLeft +
(int) Math.min(0, mShadowDx - mShadowRadius);
} }
@Override @Override
@@ -3701,7 +3702,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
@Override @Override
protected int getRightPaddingOffset() { protected int getRightPaddingOffset() {
return (int) Math.max(0, mShadowDx + mShadowRadius); return -(getCompoundPaddingRight() - mPaddingRight) +
(int) Math.max(0, mShadowDx + mShadowRadius);
} }
@Override @Override
@@ -6665,9 +6667,10 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
} else if (getLineCount() == 1) { } else if (getLineCount() == 1) {
switch (mGravity & Gravity.HORIZONTAL_GRAVITY_MASK) { switch (mGravity & Gravity.HORIZONTAL_GRAVITY_MASK) {
case Gravity.LEFT: case Gravity.LEFT:
return (mLayout.getLineRight(0) - mScrollX - (mRight - mLeft) - final int textWidth = (mRight - mLeft) - getCompoundPaddingLeft() -
getCompoundPaddingLeft() - getCompoundPaddingRight()) / getCompoundPaddingRight();
getHorizontalFadingEdgeLength(); final float lineWidth = mLayout.getLineWidth(0);
return (lineWidth - textWidth) / getHorizontalFadingEdgeLength();
case Gravity.RIGHT: case Gravity.RIGHT:
return 0.0f; return 0.0f;
case Gravity.CENTER_HORIZONTAL: case Gravity.CENTER_HORIZONTAL: