Как сделать так, чтобы линейный макет добавил дочерний вид в новую строку? - PullRequest
9 голосов
/ 02 ноября 2011

Я хочу определить макет, чтобы его ориентация была горизонтальной, но если ширина дочерних представлений превышает ширину, он добавляет новый дочерний вид в новую строку.

это можно сделать?

Ответы [ 4 ]

13 голосов
/ 02 ноября 2011

Для этого вам понадобится FlowLayout, пользовательская реализация которого приведена по этой ссылке

Предоставлено: Nishant Nair

http://nishantvnair.wordpress.com/2010/09/28/flowlayout-in-android/

1 голос
/ 21 сентября 2012

Вы можете использовать RelativeLayout в качестве родительского представления и поместить в него множество LinearLayout, присваивая каждому из них отдельный идентификатор и корректируя их положение относительно друг друга (в вашем случае «ниже»).

0 голосов
/ 02 ноября 2011

Вы можете использовать вид сетки в качестве макета для достижения этого

0 голосов
/ 02 ноября 2011

NOp, :) не так, как вы хотите (не с линейным расположением). Я не уверен, но я думаю, что в Java был FlowLayout, который начинается слева и продолжает двигаться вправо, когда не осталось места, он начинает новую строку. Но в андроиде нет такой раскладки.

Но вы можете сделать некоторые обходные пути для этой проблемы. Существует много разных решений, но это невозможно сделать с помощью линейного макета. Если вы установите ориентацию, горизонталь никогда не будет переходить на новую строку.

, как предложил @Rasel, лучшее решение для вас - использовать gridview и ничего не делать с ориентацией

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...