Exclude children from excess space distribution when using largest child

Preserves API 23 behavior.

Bug: 29872769
Change-Id: I514cde81dcca4d78238f407251805cced4c0bea1
This commit is contained in:
Alan Viverette
2016-06-30 11:15:36 -04:00
parent 43f6a45e7e
commit 070b22bdee

View File

@@ -890,7 +890,9 @@ public class LinearLayout extends ViewGroup {
remainingWeightSum -= childWeight;
final int childHeight;
if (lp.height == 0 && (!mAllowInconsistentMeasurement
if (mUseLargestChild && heightMode != MeasureSpec.EXACTLY) {
childHeight = largestChildHeight;
} else if (lp.height == 0 && (!mAllowInconsistentMeasurement
|| heightMode == MeasureSpec.EXACTLY)) {
// This child needs to be laid out from scratch using
// only its share of excess space.
@@ -1272,7 +1274,9 @@ public class LinearLayout extends ViewGroup {
remainingWeightSum -= childWeight;
final int childWidth;
if (lp.width == 0 && (!mAllowInconsistentMeasurement
if (mUseLargestChild && widthMode != MeasureSpec.EXACTLY) {
childWidth = largestChildWidth;
} else if (lp.width == 0 && (!mAllowInconsistentMeasurement
|| widthMode == MeasureSpec.EXACTLY)) {
// This child needs to be laid out from scratch using
// only its share of excess space.