summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Romain Guy <romainguy@android.com> 2009-06-24 15:45:37 -0700
committer The Android Open Source Project <initial-contribution@android.com> 2009-06-24 15:45:37 -0700
commit372cecd692a39bc72a3d508755b5fb7a0d29618e (patch)
treecc55b033c23904c737a62df272edae599eedc6ba
parent9fc2bef5918f74ad56f160d681e3b953299c85a4 (diff)
parent956070383945db5f842ec05e507fd0233705738c (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.java26
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);
}