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

Функция LazyRow

Функция LazyRow ставит пункты списка в горизонтальный ряд и прокручивает их жестом. Пункты описывают в лямбде content с приёмником LazyListScope. Положение прокрутки хранит параметр state из rememberLazyListState. Распределение вдоль ряда задаёт horizontalArrangement, выравнивание поперёк - verticalAlignment.

Синтаксис

LazyRow { item { Text("abcde") } item { Text("12345") } }

Параметры

Параметр Описание
content Лямбда с пунктами списка. Приёмник - LazyListScope.
state Состояние прокрутки списка. Класс LazyListState.
horizontalArrangement Распределение пунктов вдоль ряда. Значение класса Arrangement.
verticalAlignment Выравнивание пунктов поперёк ряда. Значение класса Alignment.
reverseLayout Если true, первый пункт окажется у правого края, прокрутка пойдёт в обратную сторону.
userScrollEnabled Если false, пользователь не сможет листать список жестом.

Пример

Давайте выведем два пункта в ленивом ряду:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.lazy.LazyRow import androidx.compose.material3.Text class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { LazyRow { 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.layout.Arrangement import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.lazy.LazyRow import androidx.compose.material3.Text import androidx.compose.ui.Modifier class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { LazyRow( modifier = Modifier.fillMaxWidth(), horizontalArrangement = Arrangement.SpaceBetween, ) { item { Text(text = "abcde") } item { Text(text = "12345") } } } } }

На экране первый текст прижмётся к началу ряда, второй - к концу на всей ширине экрана.

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

  • функция LazyColumn,
    которая листает пункты по вертикали
  • класс LazyListScope,
    где объявлены item и items
  • функция Row,
    которая ставит все дочерние элементы сразу без ленивой сборки
  • функция rememberLazyListState,
    которая запоминает положение списка
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить