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

Метод Adaptive

Метод Adaptive класса GridCells ставит столько колонок или строк, сколько помещается при ширине или высоте не меньше minSize. На узком экране дорожек будет меньше, на широком - больше. Передают в columns или rows у ленивой сетки.

Синтаксис

GridCells.Adaptive(minSize = 128.dp)

Параметры

Параметр Описание
minSize Минимальная ширина колонки или высота строки в dp. Ячейка может стать шире, если остаётся свободное место.

Пример

Давайте построим сетку с минимальной шириной колонки 120 dp:

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.material3.Text import androidx.compose.ui.unit.dp class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { LazyVerticalGrid( columns = GridCells.Adaptive(minSize = 120.dp), ) { item { Text(text = "abcde") } item { Text(text = "12345") } item { Text(text = "abcde") } } } } }

На экране число колонок зависит от ширины устройства, каждая не уже 120 dp.

Пример

Давайте применим Adaptive к строкам горизонтальной сетки:

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.LazyHorizontalGrid import androidx.compose.material3.Text import androidx.compose.ui.unit.dp class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { LazyHorizontalGrid( rows = GridCells.Adaptive(minSize = 48.dp), ) { item { Text(text = "abcde") } item { Text(text = "12345") } } } } }

На экране сетка подберёт число строк по высоте, ячейки не будут ниже 48 dp.

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

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