Класс LinearLayout
Класс LinearLayout наследует
View
и выкладывает дочерние элементы в один ряд.
Направление задаёт android:orientation:
vertical или horizontal.
Выравнивание внутри - через
android:gravity
и класс
Gravity.
Аналог ряда Compose -
Row
и
Column.
Синтаксис
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<!-- child views -->
</LinearLayout>
Параметры
| Параметр | Описание |
|---|---|
android:layout_width |
Ширина контейнера. |
android:layout_height |
Высота контейнера. |
android:orientation |
vertical - столбец, horizontal - ряд.
|
android:gravity |
Как выровнять дочерние View внутри, например center.
|
android:padding |
Отступ содержимого от краёв layout. |
Пример
Давайте поставим текст и кнопку в столбец:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:id="@+id/label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="abcde" />
<Button
android:id="@+id/action"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="12345" />
</LinearLayout>
На экране текст "abcde" будет над кнопкой "12345".
Пример
Давайте разложим два текста в горизонтальный ряд:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="abcde" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="12345" />
</LinearLayout>
На экране два текста встанут в один ряд слева направо.
Смотрите также
-
класс
FrameLayout,
который кладёт View друг на друга -
класс
ConstraintLayout,
который привязывает View к краям и друг к другу -
функция
Column,
столбец в Jetpack Compose -
класс
Gravity,
которым задают gravity layout