Класс GridCells
Класс GridCells описывает раскладку
LazyVerticalGrid
и
LazyHorizontalGrid.
У вертикальной сетки объект передают
в параметр columns,
у горизонтальной - в rows.
Фиксированное число дорожек даёт
Fixed,
автоматический подбор по минимальному размеру -
Adaptive.
Синтаксис
GridCells.Fixed(2)
GridCells.Adaptive(minSize = 128.dp)
Методы
| Метод | Описание |
|---|---|
Fixed |
Ровно заданное число колонок или строк. |
Adaptive |
Столько колонок или строк, сколько поместится при минимальном размере ячейки. |
Пример
Давайте сравним Fixed и Adaptive в двух сетках:
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.lazy.grid.GridCells
import androidx.compose.foundation.lazy.grid.LazyVerticalGrid
import androidx.compose.material3.Text
import androidx.compose.ui.unit.dp
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
Column {
LazyVerticalGrid(
columns = GridCells.Fixed(2),
) {
item { Text(text = "abcde") }
item { Text(text = "12345") }
}
LazyVerticalGrid(
columns = GridCells.Adaptive(minSize = 160.dp),
) {
item { Text(text = "abcde") }
item { Text(text = "12345") }
}
}
}
}
}
На экране две сетки друг под другом: в первой всегда две колонки, во второй их число зависит от ширины экрана.
Смотрите также
-
метод
Fixed,
который задаёт точное число дорожек -
метод
Adaptive,
который подбирает число дорожек по minSize -
функция
LazyVerticalGrid,
куда передают columns -
функция
LazyHorizontalGrid,
куда передают rows