diff options
author | Tor Norbye <tnorbye@google.com> | 2012-06-20 19:00:11 -0700 |
---|---|---|
committer | Tor Norbye <tnorbye@google.com> | 2012-06-20 19:00:11 -0700 |
commit | 8a76d00976eabe38e83d1c2ded2297c0fa0b8d47 (patch) | |
tree | 3bc621331f20d8e57ee2d77498f50aebea13d683 | |
parent | 9ff09abaa5319f41cbcccb592cf472129dd3a479 (diff) | |
download | sdk-8a76d00976eabe38e83d1c2ded2297c0fa0b8d47.zip sdk-8a76d00976eabe38e83d1c2ded2297c0fa0b8d47.tar.gz sdk-8a76d00976eabe38e83d1c2ded2297c0fa0b8d47.tar.bz2 |
GridLayout bug fix
This changeset fixes a bug in the vertical handling of views.
Change-Id: I80896b2f6e5c4799c14c55e46e0bd90388b2901f
2 files changed, 7 insertions, 2 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/common/layout/grid/GridDropHandler.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/common/layout/grid/GridDropHandler.java index 0292429..e01e045 100644 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/common/layout/grid/GridDropHandler.java +++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/common/layout/grid/GridDropHandler.java @@ -669,6 +669,8 @@ public class GridDropHandler { if (!GravityHelper.isConstrainedHorizontally(gravity)) { gravity |= GravityHelper.GRAVITY_LEFT; } + /* This causes problems: Try placing two buttons vertically from the top of the layout. + We need to solve the free column/free row problem first. if (!GravityHelper.isConstrainedVertically(gravity) // There is no baseline constant, so we have to leave it unconstrained instead && mRowMatch.type != SegmentType.BASELINE @@ -678,6 +680,7 @@ public class GridDropHandler { && !mRowMatch.createCell) { gravity |= GravityHelper.GRAVITY_TOP; } + */ mGrid.setGridAttribute(newChild, ATTR_LAYOUT_GRAVITY, getGravity(gravity)); mGrid.setGridAttribute(newChild, ATTR_LAYOUT_ROW, row); diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/common/layout/grid/GridModel.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/common/layout/grid/GridModel.java index 65a61b4..8cc9f90 100644 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/common/layout/grid/GridModel.java +++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/common/layout/grid/GridModel.java @@ -1689,7 +1689,8 @@ public class GridModel { int endColumn = column + view.columnSpan; if (endColumn > newColumn || endColumn == newColumn && (view.node.getBounds().x2() > x - || !GravityHelper.isLeftAligned(view.gravity))) { + || GravityHelper.isConstrainedHorizontally(view.gravity) + && !GravityHelper.isLeftAligned(view.gravity))) { // This cell spans the new insert position, so increment the column span view.columnSpan += insertMarginColumn ? 2 : 1; setColumnSpanAttribute(node, view.columnSpan); @@ -1773,7 +1774,8 @@ public class GridModel { int endRow = row + view.rowSpan; if (endRow > newRow || endRow == newRow && (view.node.getBounds().y2() > y - || !GravityHelper.isTopAligned(view.gravity))) { + || GravityHelper.isConstrainedVertically(view.gravity) + && !GravityHelper.isTopAligned(view.gravity))) { // This cell spans the new insert position, so increment the row span view.rowSpan += insertMarginRow ? 2 : 1; setRowSpanAttribute(node, view.rowSpan); |