summaryrefslogtreecommitdiff
path: root/core/java/android/widget/GridLayout.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/widget/GridLayout.java')
-rw-r--r--core/java/android/widget/GridLayout.java14
1 files changed, 8 insertions, 6 deletions
diff --git a/core/java/android/widget/GridLayout.java b/core/java/android/widget/GridLayout.java
index fb9047b35b28..7cf51688db66 100644
--- a/core/java/android/widget/GridLayout.java
+++ b/core/java/android/widget/GridLayout.java
@@ -867,16 +867,18 @@ public class GridLayout extends ViewGroup {
if (firstPass) {
measureChildWithMargins2(c, widthSpec, heightSpec, lp.width, lp.height);
} else {
- Spec spec = (orientation == HORIZONTAL) ? lp.columnSpec : lp.rowSpec;
+ boolean horizontal = (orientation == HORIZONTAL);
+ Spec spec = horizontal ? lp.columnSpec : lp.rowSpec;
if (spec.alignment == FILL) {
Interval span = spec.span;
- Axis axis = (orientation == HORIZONTAL) ? horizontalAxis : verticalAxis;
+ Axis axis = horizontal ? horizontalAxis : verticalAxis;
int[] locations = axis.getLocations();
- int size = locations[span.max] - locations[span.min];
- if (orientation == HORIZONTAL) {
- measureChildWithMargins2(c, widthSpec, heightSpec, size, lp.height);
+ int cellSize = locations[span.max] - locations[span.min];
+ int viewSize = cellSize - getTotalMargin(c, horizontal);
+ if (horizontal) {
+ measureChildWithMargins2(c, widthSpec, heightSpec, viewSize, lp.height);
} else {
- measureChildWithMargins2(c, widthSpec, heightSpec, lp.width, size);
+ measureChildWithMargins2(c, widthSpec, heightSpec, lp.width, viewSize);
}
}
}