From f0806600d1bfc2c2440a6addaecd804a628bfa4e Mon Sep 17 00:00:00 2001 From: Chris Banes Date: Wed, 30 Nov 2016 01:21:49 +0000 Subject: [PATCH] am cb0c34a1: am 8b85eb65: am 5cb08b09: am 6fff1f92: Merge "Fix TabLayout when used in a HorizontalScrollView" into lmp-mr1-ub-dev * commit 'cb0c34a19b62e9ea71ce02e36a69903f700fd510': Fix TabLayout when used in a HorizontalScrollView GitOrigin-RevId=292f0c7594a6ac1fc906dc0ccbf3e2bda30b00a8 PiperOrigin-RevId: 140549050 --- src/android/support/design/widget/TabLayout.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/android/support/design/widget/TabLayout.java b/src/android/support/design/widget/TabLayout.java index 610b1a4e5..2d568600b 100755 --- a/src/android/support/design/widget/TabLayout.java +++ b/src/android/support/design/widget/TabLayout.java @@ -199,7 +199,7 @@ public class TabLayout extends HorizontalScrollView { private final int mTabBackgroundResId; private final int mTabMinWidth; - private int mTabMaxWidth; + private int mTabMaxWidth = Integer.MAX_VALUE; private final int mRequestedTabMaxWidth; private int mContentInsetStart; @@ -740,7 +740,12 @@ public class TabLayout extends HorizontalScrollView { // If the request tab max width is 0, or larger than our default, use the default maxTabWidth = defaultTabMaxWidth; } - mTabMaxWidth = maxTabWidth; + + if (mTabMaxWidth != maxTabWidth) { + // If the tab max width has changed, re-measure + mTabMaxWidth = maxTabWidth; + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + } } private void removeTabViewAt(int position) {