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

Функция LazyColumn

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

Синтаксис

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

Параметры

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

Пример

Давайте выведем два пункта в ленивом столбце:

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

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

Пример

Давайте построим список из коллекции через items:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items import androidx.compose.material3.Text class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { val lines = listOf("abcde", "12345") LazyColumn { items(lines) { line -> Text(text = line) } } } } }

На экране появятся те же две строки, каждая из своего элемента списка.

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

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