OSDN Git Service

Request re-layout after setText if layout width is 0
authorSiyamed Sinir <siyamed@google.com>
Mon, 18 Apr 2016 21:32:47 +0000 (14:32 -0700)
committerSiyamed Sinir <siyamed@google.com>
Mon, 18 Apr 2016 22:17:02 +0000 (15:17 -0700)
When TextView is in a layout with weight params (i.e. LinearLayout) and
the width is set to 0, do not try to prevent requestLayout.

Bug: 27995311
Change-Id: Idfe9d8d0b595a6db95beb1afd83ca96a2bd46546

core/java/android/widget/TextView.java

index 48fd58b..8097d7a 100644 (file)
@@ -7310,7 +7310,7 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
         // If we have a fixed width, we can just swap in a new text layout
         // if the text height stays the same or if the view height is fixed.
 
-        if ((mLayoutParams.width != LayoutParams.WRAP_CONTENT ||
+        if (((mLayoutParams.width != LayoutParams.WRAP_CONTENT && mLayoutParams.width != 0) ||
                 (mMaxWidthMode == mMinWidthMode && mMaxWidth == mMinWidth)) &&
                 (mHint == null || mHintLayout != null) &&
                 (mRight - mLeft - getCompoundPaddingLeft() - getCompoundPaddingRight() > 0)) {