diff options
| -rw-r--r-- | core/java/android/text/BoringLayout.java | 8 | ||||
| -rw-r--r-- | core/java/android/widget/TextView.java | 13 |
2 files changed, 9 insertions, 12 deletions
diff --git a/core/java/android/text/BoringLayout.java b/core/java/android/text/BoringLayout.java index fd9188b79599..0f65f80d5ca2 100644 --- a/core/java/android/text/BoringLayout.java +++ b/core/java/android/text/BoringLayout.java @@ -189,12 +189,6 @@ public class BoringLayout extends Layout implements TextUtils.EllipsizeCallback mBottom = spacing; - if (includepad) { - mDesc = spacing + metrics.top; - } else { - mDesc = spacing + metrics.ascent; - } - if (trustWidth) { mMax = metrics.width; } else { @@ -214,6 +208,8 @@ public class BoringLayout extends Layout implements TextUtils.EllipsizeCallback mTopPadding = metrics.top - metrics.ascent; mBottomPadding = metrics.bottom - metrics.descent; } + + mDesc = spacing + mBottomPadding + (includepad ? metrics.top : metrics.ascent); } /** diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index a5c1da936f99..95fcdc179643 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -6853,11 +6853,11 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener .setLineSpacing(mSpacingAdd, mSpacingMult) .setIncludePad(mIncludePad) .setBreakStrategy(mBreakStrategy) - .setHyphenationFrequency(mHyphenationFrequency); + .setHyphenationFrequency(mHyphenationFrequency) + .setMaxLines(mMaxMode == LINES ? mMaximum : Integer.MAX_VALUE); if (shouldEllipsize) { builder.setEllipsize(mEllipsize) - .setEllipsizedWidth(ellipsisWidth) - .setMaxLines(mMaxMode == LINES ? mMaximum : Integer.MAX_VALUE); + .setEllipsizedWidth(ellipsisWidth); } mHintLayout = builder.build(); } @@ -6944,11 +6944,12 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener .setLineSpacing(mSpacingAdd, mSpacingMult) .setIncludePad(mIncludePad) .setBreakStrategy(mBreakStrategy) - .setHyphenationFrequency(mHyphenationFrequency); + .setHyphenationFrequency(mHyphenationFrequency) + .setMaxLines(mMaxMode == LINES ? mMaximum : Integer.MAX_VALUE); if (shouldEllipsize) { builder.setEllipsize(effectiveEllipsize) - .setEllipsizedWidth(ellipsisWidth) - .setMaxLines(mMaxMode == LINES ? mMaximum : Integer.MAX_VALUE); + .setEllipsizedWidth(ellipsisWidth); + } // TODO: explore always setting maxLines result = builder.build(); |