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

Функция LazyHorizontalGrid

Функция LazyHorizontalGrid заполняет экран ячейками в несколько строк и листает их по горизонтали. Число строк задаёт параметр rows типа GridCells. Ячейки описывают в лямбде content с приёмником LazyGridScope. Положение прокрутки хранит state из rememberLazyGridState.

Синтаксис

LazyHorizontalGrid(rows = GridCells.Fixed(2)) { item { Text("abcde") } item { Text("12345") } }

Параметры

Параметр Описание
rows Схема строк сетки. Класс GridCells, например Fixed или Adaptive.
content Лямбда с ячейками. Приёмник - LazyGridScope.
state Состояние прокрутки сетки. Класс LazyGridState.
horizontalArrangement Распределение столбцов по горизонтали. Значение класса Arrangement.
verticalArrangement Распределение ячеек внутри столбца по вертикали. Значение класса Arrangement.
userScrollEnabled Если false, жест прокрутки отключён.

Пример

Давайте покажем две ячейки в двух строках:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.lazy.grid.GridCells import androidx.compose.foundation.lazy.grid.LazyHorizontalGrid import androidx.compose.material3.Text class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { LazyHorizontalGrid(rows = GridCells.Fixed(2)) { item { Text(text = "abcde") } item { Text(text = "12345") } } } } }

На экране два текста встанут в один столбец, по одному в каждой строке сетки.

Пример

Давайте добавим третью ячейку и прокрутим сетку вбок:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.lazy.grid.GridCells import androidx.compose.foundation.lazy.grid.LazyHorizontalGrid import androidx.compose.material3.Text class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { LazyHorizontalGrid(rows = GridCells.Fixed(1)) { item { Text(text = "abcde") } item { Text(text = "12345") } item { Text(text = "abcde") } } } } }

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

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

  • функция LazyVerticalGrid,
    которая листает сетку по вертикали
  • класс GridCells,
    который задаёт число строк или колонок
  • функция LazyRow,
    которая строит один ряд без сетки
  • класс LazyGridScope,
    где объявлены item и items
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить