Как выложить 3 кнопки выше 4 кнопок по центру? - PullRequest
2 голосов
/ 27 февраля 2011

Мне нужно расположить центрированный ряд из 3 кнопок над центрированным рядом из 4 кнопок:

          +------+    +------+    +------+
          |      |    |      |    |      |
          +------+    +------+    +------+

    +------+    +------+    +------+    +------+
    |      |    |      |    |      |    |      |
    +------+    +------+    +------+    +------+

Все кнопки имеют одинаковый размер, и промежутки между кнопками должны быть одинаковыми на обеихстрок.Я могу сделать это легко с помощью вложенных LinearLayouts, но я бы хотел сделать это без вложенных видов компоновки.(Помимо всего совета, чтобы избежать вложенных макетов , мне нужно пройтись по кнопкам в коде, и это намного проще с плоским макетом.)

Я могу сделать это с помощью RelativeLayout, еслистроки имеют одинаковое количество кнопок, но я не могу понять, когда количество кнопок различается.Есть ли способ использовать один из стандартных видов компоновки (кажется глупым писать для этого собственный макет) для создания плоского макета?

1 Ответ

2 голосов
/ 28 февраля 2011

Кажется, что это невозможно сделать в одном макете. Вы не можете использовать относительную компоновку, потому что она не поддерживает гравитацию, и вам нужно выровнять центр просмотра.

Пользовательский макет является идеальным решением для этого случая. Это не так сложно на самом деле. Я сталкивался с гораздо более простыми случаями, которые не могли быть выполнены с использованием единого стандартного макета.

...