В чем разница между линейной и относительной компоновкой?

в чем разница между линейным и относительным расположением?

9 ответов


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


LINEAR LAYOUT ::

  • в линейный макет, как следует из названия, все элементы отображается в линейном режиме
  • либо по горизонтали, либо по вертикали, и это поведение устанавливается в android: ориентация, которая является атрибутом узла LinearLayout.
  • линейные макеты помещают каждого ребенка, один за другим, в строку, горизонтально или вертикально.

нажать здесь ---- для - - - Android Docs ссылка для линейной компоновки

Pictorial representation


RELATIVE LAYOUT::

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

Нажмите здесь - - - - для - - - Android Docs ссылка для относительного макета

Pictorial representation


оптимизация::посмотреть Оптимизация Иерархий Компоновки

чем меньше просмотров, тем лучше::

  1. The number one goal for your layouts should be using the fewest number of Views possible. The fewer Views you have to work with, the faster your application will run. Excessive nesting of Views further slows down your application.

  2. A RelativeLayout hierarchy will typically use fewer Views and have a flatter tree than a LinearLayout hierarchy. With LinearLayout, you must create a new LinearLayout every time you want to change the orientation of your views – creating additional Views and a more nested hierarchy. As a result, it is recommended that you first use RelativeLayout for any layout that has any complexity. There is a high probability you will reduce the number of Views – and the depth of your View tree – by doing so.


с документация для разработчиков Android: общие объекты компоновки

LinearLayout

LinearLayout выравнивает все дочерние элементы в одном направлении - вертикально или горизонтально, в зависимости от того, как вы определяете атрибут ориентации.

RelativeLayout

RelativeLayout позволяет дочерним представлениям указывать свое положение относительно родительского представления или друг друга (указано по ID)


следующая ссылка должна визуально объяснить, как работают макеты "визуально"
http://www.droiddraw.org/
Добавьте некоторые компоненты в окно и беспорядок с макетами, чтобы увидеть, что происходит, вот как я узнал, что каждый из них делает.


одним из характеристика особенность LinearLayout В Android используется свойство под названием вес, какое приложение можно указать с помощью android:layout_weight. Этот атрибут присваивает представлению значение "важность" с точки зрения того, сколько места оно должно занимать на экране.

С другой стороны, RelativeLayout не поддерживает вес или, другими словами, RelativeLayout не обращает внимания на android:layout_weight. Это свойство LinearLayout.LayoutParams, а не RelativeLayout.LayoutParams.


в относительном макете все содержимое страницы макета связано с другим содержимым в example_layout.страница xml

в случае линейной компоновки элементы отображаются в линейном формате


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


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

=> линейный макет расположен в виде списка. Остальные похожи по функциональности.


Линейный Макеты

  1. линейные макеты отлично подходят для выравнивания представлений в строках и столбцах.
  2. это хороший способ разделить одно место, используя веса макета, которые будут расширяться или сжиматься в зависимости от размера дисплея.

Относительные Макеты

  1. относительные макеты отлично подходят для позиционирования элементов относительно друг друга.
  2. например, поставив B ниже A или положите C в нижний левый угол. Проверьте экран стрелять
  3. относительный макет также позволяет легко перекрывать виды. Например: view A-перекрывающийся вид B. Проверьте экран-стрелять