OSDN Git Service

Request re-layout after setText if layout width is 0
authorSiyamed Sinir <siyamed@google.com>
Thu, 5 May 2016 23:48:47 +0000 (16:48 -0700)
committerSiyamed Sinir <siyamed@google.com>
Thu, 5 May 2016 23:48:52 +0000 (16:48 -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: I6f98f0ac8260bfa98147157f5b73e87308c7efab

core/java/android/widget/TextView.java

index a0843c7..26697f9 100644 (file)
@@ -7311,7 +7311,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)) {