diff options
| author | 2009-06-24 15:45:37 -0700 | |
|---|---|---|
| committer | 2009-06-24 15:45:37 -0700 | |
| commit | 372cecd692a39bc72a3d508755b5fb7a0d29618e (patch) | |
| tree | cc55b033c23904c737a62df272edae599eedc6ba | |
| parent | 9fc2bef5918f74ad56f160d681e3b953299c85a4 (diff) | |
| parent | 956070383945db5f842ec05e507fd0233705738c (diff) | |
am 95607038: Reverse the order in which RelativeLayout measures and positions children.
Merge commit '956070383945db5f842ec05e507fd0233705738c'
* commit '956070383945db5f842ec05e507fd0233705738c':
Reverse the order in which RelativeLayout measures and positions children.
| -rw-r--r-- | core/java/android/widget/RelativeLayout.java | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/core/java/android/widget/RelativeLayout.java b/core/java/android/widget/RelativeLayout.java index 1f63e117a947..955475e401ff 100644 --- a/core/java/android/widget/RelativeLayout.java +++ b/core/java/android/widget/RelativeLayout.java @@ -349,9 +349,10 @@ public class RelativeLayout extends ViewGroup { View child = views[i]; if (child.getVisibility() != GONE) { LayoutParams params = (LayoutParams) child.getLayoutParams(); - applyVerticalSizeRules(params, myHeight); - measureChildVertical(child, params, myHeight); - positionChildVertical(child, params, myHeight); + + applyHorizontalSizeRules(params, myWidth); + measureChildHorizontal(child, params, myWidth); + positionChildHorizontal(child, params, myWidth); } } @@ -361,9 +362,10 @@ public class RelativeLayout extends ViewGroup { View child = views[i]; if (child.getVisibility() != GONE) { LayoutParams params = (LayoutParams) child.getLayoutParams(); - applyHorizontalSizeRules(params, myWidth); + + applyVerticalSizeRules(params, myHeight); measureChild(child, params, myWidth, myHeight); - positionChildHorizontal(child, params, myWidth); + positionChildVertical(child, params, myHeight); if (widthMode != MeasureSpec.EXACTLY) { width = Math.max(width, params.mRight); @@ -508,13 +510,13 @@ public class RelativeLayout extends ViewGroup { child.measure(childWidthMeasureSpec, childHeightMeasureSpec); } - private void measureChildVertical(View child, LayoutParams params, int myHeight) { - int childWidthMeasureSpec = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED); - int childHeightMeasureSpec = getChildMeasureSpec(params.mTop, - params.mBottom, params.height, - params.topMargin, params.bottomMargin, - mPaddingTop, mPaddingBottom, - myHeight); + private void measureChildHorizontal(View child, LayoutParams params, int myWidth) { + int childWidthMeasureSpec = getChildMeasureSpec(params.mLeft, + params.mRight, params.width, + params.leftMargin, params.rightMargin, + mPaddingLeft, mPaddingRight, + myWidth); + int childHeightMeasureSpec = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED); child.measure(childWidthMeasureSpec, childHeightMeasureSpec); } |