Каковы различия между LinearLayout, RelativeLayout и AbsoluteLayout?
Я смущен разницей между LinearLayout, RelativeLayout и AbsoluteLayout. Может кто-нибудь, пожалуйста, сказать мне точные различия между ними?
7 ответов
LinearLayout
означает, что вы можете выравнивать виды один за другим (по вертикали/ горизонтали).
RelativeLayout
означает основанный на отношении взглядов от его родителей и других взглядов.
ConstraintLayout
похоже на RelativeLayout в том, что он использует отношения к виджетам положения и размера, но имеет дополнительную гибкость и проще использовать в Редакторе макетов.
WebView
для загрузки html, статических или динамических страниц.
FrameLayout
для загрузки ребенка один над другим, как карточки внутри рамки, мы можем установить одно над другим или везде внутри рамки.
устаревшие - AbsoluteLayout
означает, что вы должны дать точное положение, где должен быть вид.
для получения дополнительной информации, пожалуйста, проверьте этот адрес https://developer.android.com/guide/topics/ui/declaring-layout#CommonLayouts
FrameLayout
: макет, который действует как рамка вида для отображения одного объекта.
RelativeLayout
: позволяет указать расположение дочерних объектов относительно друг друга (дочерний объект A слева от дочернего объекта B) или родительского объекта (выровнен по верхней части родительского объекта).
LinearLayout
: макет, который организует свои дочерние элементы в одну горизонтальную или вертикальную строку.
TableLayout
: табличный макет с произвольным количеством строк и столбцов, каждая ячейка держит виджет по вашему выбору. Размер строк соответствует размеру самого большого столбца. Границы ячеек не видны.
определение:
Дополнительная Информация:
FrameLayout
::
RelativeLayout
::
TableLayout
::
Примечание:- абсолютный макет является depricated
источник: Android Developers
1)FrameLayout - Макет Рамы pins each child view within its frame
. Позиция по умолчанию-верхний левый угол, хотя вы можете использовать
атрибут гравитации для изменения его местоположения.
добавление нескольких детей стеки каждый новый ребенок на вершине
одного раньше, ie with each new View potentially hiding the previous ones.
2)LinearLayout - линейный макет выравнивает каждый дочерний вид по вертикальной или горизонтальной линии. Вертикальный макет имеет столбец представлений, тогда как горизонтальный макет имеет строку Просмотр. Линейный макет поддерживает weight attribute for each child View that can control the relative size of each child View within the available space.
3)RelativeLayout - относительный макет позволяет определить positions of each child View relative to the others
и screen boundaries
.
4)GridLayout представил в Android 4.0 (API level 14)
макет сетки использует rectangular grids to layout Views
в набор строк и столбцов.
LinearLayout: макет, который организует свои дочерние элементы в одну горизонтальную или вертикальную строку. Он создает полосу прокрутки, если длина окна превышает длину экрана.Это означает, что вы можете выровнять виды один за другим (по вертикали/ горизонтали).
RelativeLayout: Это позволяет указать расположение дочерних объектов относительно друг друга (дочерний объект A слева от дочернего объекта B) или родительского объекта (выровненного по верхней части родительского объекта). Это на основе отношения взглядов его родителей и других взглядов.
WebView: для загрузки html, статических или динамических страниц.
для получения дополнительной информации см. Эту ссылку:http://developer.android.com/guide/topics/ui/layout-objects.html
LinearLayout - в LinearLayout представления организованы в вертикальной или горизонтальной ориентации.
RelativeLayout - RelativeLayout является более сложным, чем LinearLayout, следовательно, обеспечивает многие функции. Вид как имя предполагает относительно друг друга.
FrameLayout - он ведет себя как один объект, и его дочерние представления перекрываются друг над другом. Так принимает размер как за самый большой дочерний элемент.
Координатор Макет - Это самая мощная ViewGroup, представленная в библиотеке поддержки Android. Он ведет себя как FrameLayout и имеет много функций для координат среди своих дочерних представлений. e.G плавающая кнопка и snackbar, панель инструментов с прокручиваемым видом.
отличное объяснение !!
http://www.cuelogic.com/blog/using-framelayout-for-designing-xml-layouts-in-android/
LinearLayout упорядочивает элементы бок о бок по горизонтали или вертикали(строки против столбцов).
RelativeLayout это менеджер макетов, который поможет вам организовать элементы пользовательского интерфейса на основе некоторых правил. Вы можете указать такие вещи, как: выровняйте это по левому краю родителей, поместите это в слева/справа от этих элементов и т. д.
AbsoluteLayout для абсолютного позиционирования, т. е. вы можете указать точные координаты, куда должен идти вид.
FrameLayout позволяет размещений вдоль Z-оси. То есть вы можете складывать элементы представления один над другим.