Метод 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 заполняет горизонтальную сетку