Макеты Android, Table, Relative и Linear, я запутался в их различиях - PullRequest
1 голос
/ 27 июля 2011

Я прочитал много статей, касающихся макета, но я все еще в замешательстве.Мои вопросы:

  • Когда использовать относительное расположение?Пример?
  • Когда использовать макет таблицы и почему мы не можем использовать его вместо относительного макета?
  • Когда использовать линейный макет?

Мне просто нужнократкие ответы.

Ответы [ 3 ]

2 голосов
/ 27 июля 2011

Когда какой макет использовать?

Я думаю, это зависит от вашего пользовательского интерфейса, и самое главное, как вы создаете оптимизированный макет .

Из определения: -

LinearLayout - , предназначенный для отображения дочерних элементов управления View в одной строке или столбце.Это очень удобный метод макета для создания форм.

RelativeLayout - , предназначенный для отображения дочерних элементов управления View по отношению друг к другу.Например, вы можете установить элемент управления так, чтобы он располагался «выше» или «ниже» или «слева от» или «справа от» другого элемента управления, на который ссылается его уникальный идентификатор.Вы также можете выровнять дочерние элементы управления View относительно родительских ребер.

TableLayout - , предназначенные для организации дочерних элементов управления View в строки и столбцы.Отдельные элементы управления View добавляются в каждую строку таблицы, используя представление компоновки TableRow (которое в основном является горизонтально ориентированным LinearLayout) для каждой строки таблицы.

Ссылки:

СозданиеЭффективные макеты

Объекты общего макета

И самое важное Просмотр иерархии

1 голос
/ 27 июля 2011

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

0 голосов
/ 27 июля 2011

Я начал с использованием относительной разметки.Но недавно я перешел на использование в основном линейного макета.

Причину сложно объяснить, но возьмем это в качестве примера: скажем, я хочу макет, в котором в центре экрана находятся два изображения.Оба изображения должны занимать 1/4 ширины экрана и 1/4 высоты экрана.Это невозможно сделать с относительной разметкой, если вы хотите, чтобы она работала одинаково на всех устройствах.Но вы можете сделать это с Linearlayout.Создавая вертикальных и горизонтальных родителей, вы можете создавать «ящики».Чтобы достичь этого, вы должны узнать о весе и весе.Родительские макеты должны иметь атрибут weigthsum, а дочерние должны иметь атрибут weight.

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

  • При относительном расположении вы должны определить размер с помощью dp или px (при условии, что вы не заполняете родительский или перенос содержимого).
  • Различные устройства имеют разные аспектыотношения.

Я надеялся, что это помогло с точки зрения понимания относительного и линейного распределения.

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