diff options
| author | 2016-05-05 17:52:10 +0000 | |
|---|---|---|
| committer | 2016-05-05 17:54:36 +0000 | |
| commit | 61c41bf6175222c265973b5fb0063b3e3c5d02c8 (patch) | |
| tree | da8179107e0d7101f792e4358b92fc202cec5022 | |
| parent | cc26636f08da89f9750f550d66aa213f1ae24f7f (diff) | |
Revert "Always assign leftover pixels to last weighted child"
This reverts commit cc26636f08da89f9750f550d66aa213f1ae24f7f.
Bug: 27690033
Change-Id: Ib7084dd8961cd486de4e6b13e36da7be887b1835
| -rw-r--r-- | core/java/android/widget/LinearLayout.java | 30 |
1 files changed, 6 insertions, 24 deletions
diff --git a/core/java/android/widget/LinearLayout.java b/core/java/android/widget/LinearLayout.java index 0b73afb657f7..f75b74bb9a14 100644 --- a/core/java/android/widget/LinearLayout.java +++ b/core/java/android/widget/LinearLayout.java @@ -708,7 +708,6 @@ public class LinearLayout extends ViewGroup { final int baselineChildIndex = mBaselineAlignedChildIndex; final boolean useLargestChild = mUseLargestChild; - int lastWeightedChildIndex = -1; int largestChildHeight = Integer.MIN_VALUE; int consumedExcessSpace = 0; @@ -730,10 +729,8 @@ public class LinearLayout extends ViewGroup { } final LayoutParams lp = (LayoutParams) child.getLayoutParams(); - if (lp.weight > 0) { - totalWeight += lp.weight; - lastWeightedChildIndex = i; - } + + totalWeight += lp.weight; final boolean useExcessSpace = lp.height == 0 && lp.weight > 0; if (heightMode == MeasureSpec.EXACTLY && useExcessSpace) { @@ -888,13 +885,7 @@ public class LinearLayout extends ViewGroup { final LayoutParams lp = (LayoutParams) child.getLayoutParams(); final float childWeight = lp.weight; if (childWeight > 0) { - final int share; - if (i == lastWeightedChildIndex) { - share = remainingExcess; - } else { - share = (int) (childWeight * remainingExcess / remainingWeightSum); - } - + final int share = (int) (childWeight * remainingExcess / remainingWeightSum); remainingExcess -= share; remainingWeightSum -= childWeight; @@ -1055,7 +1046,6 @@ public class LinearLayout extends ViewGroup { final boolean isExactly = widthMode == MeasureSpec.EXACTLY; - int lastWeightedChildIndex = -1; int largestChildWidth = Integer.MIN_VALUE; int usedExcessSpace = 0; @@ -1077,10 +1067,8 @@ public class LinearLayout extends ViewGroup { } final LayoutParams lp = (LayoutParams) child.getLayoutParams(); - if (lp.weight > 0) { - totalWeight += lp.weight; - lastWeightedChildIndex = i; - } + + totalWeight += lp.weight; final boolean useExcessSpace = lp.width == 0 && lp.weight > 0; if (widthMode == MeasureSpec.EXACTLY && useExcessSpace) { @@ -1279,13 +1267,7 @@ public class LinearLayout extends ViewGroup { final LayoutParams lp = (LayoutParams) child.getLayoutParams(); final float childWeight = lp.weight; if (childWeight > 0) { - final int share; - if (i == lastWeightedChildIndex) { - share = remainingExcess; - } else { - share = (int) (childWeight * remainingExcess / remainingWeightSum); - } - + final int share = (int) (childWeight * remainingExcess / remainingWeightSum); remainingExcess -= share; remainingWeightSum -= childWeight; |