Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
366 of 502 menu
◀ ▶

Класс FrameLayout

Класс FrameLayout наследует View и рисует дочерние элементы в одной прямоугольной области. Позже добавленный View перекрывает ранние. Положение внутри задают android:layout_gravity со значениями из Gravity. Похож на Box в Compose.

Синтаксис

<FrameLayout android:layout_width="match_parent" android:layout_height="match_parent"> <!-- stacked views --> </FrameLayout>

Параметры

Параметр Описание
android:layout_width Ширина области стопки.
android:layout_height Высота области стопки.
android:foregroundGravity Положение foreground drawable контейнера.
android:padding Отступ для дочерних View.

Пример

Давайте положим текст поверх цветного View:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="200dp"> <View android:layout_width="match_parent" android:layout_height="match_parent" android:background="#BDBDBD" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="abcde" /> </FrameLayout>

На экране серая плашка заполнит область, а текст "abcde" окажется по центру поверх неё.

Пример

Давайте прижмём подпись к нижнему краю:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="120dp"> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="centerCrop" android:src="@android:drawable/ic_menu_gallery" android:contentDescription="12345" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|center_horizontal" android:text="12345" /> </FrameLayout>

На экране картинка займёт фон, текст "12345" встанет по центру снизу.

Смотрите также

  • класс LinearLayout,
    который ставит View в ряд, а не в стопку
  • класс ConstraintLayout,
    который позиционирует View привязками
  • функция Box,
    наложение в Compose
  • класс Gravity,
    для layout_gravity внутри FrameLayout
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить