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

Метод items

Метод items приёмника LazyGridScope повторяет лямбду для каждого элемента коллекции или для индексов от 0 до count - 1. Текущий элемент передают в itemContent. Лямбды key и span задают ключ и ширину ячейки в колонках.

Синтаксис

items(listOf("abcde", "12345")) { line -> Text(line) }

Параметры

Параметр Описание
items Коллекция элементов, по которой строят ячейки.
itemContent Лямбда с composable для одного элемента.
key Лямбда, которая возвращает ключ элемента.
span Лямбда, которая задаёт span ячейки в сетке.

Пример

Давайте выведем две строки в сетке из двух колонок:

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.LazyVerticalGrid import androidx.compose.foundation.lazy.grid.items import androidx.compose.material3.Text class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { val lines = listOf("abcde", "12345") LazyVerticalGrid(columns = GridCells.Fixed(2)) { items(lines) { line -> Text(text = line) } } } } }

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

Пример

Давайте добавим ещё элементы и прокрутим сетку:

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.LazyVerticalGrid import androidx.compose.foundation.lazy.grid.items import androidx.compose.material3.Text class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { val lines = List(8) { if (it % 2 == 0) "abcde" else "12345" } LazyVerticalGrid(columns = GridCells.Fixed(2)) { items(lines) { line -> Text(text = line) } } } } }

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

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

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