summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/widget/LinearLayout.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/core/java/android/widget/LinearLayout.java b/core/java/android/widget/LinearLayout.java
index f75b74bb9a14..38d7cd4acaf6 100644
--- a/core/java/android/widget/LinearLayout.java
+++ b/core/java/android/widget/LinearLayout.java
@@ -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.