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

Функция rememberLazyListState

Функция rememberLazyListState возвращает LazyListState и сохраняет его между перерисовками. Начальный видимый пункт задают через initialFirstVisibleItemIndex и initialFirstVisibleItemScrollOffset. Объект передают в state у LazyColumn или LazyRow.

Синтаксис

val listState = rememberLazyListState()

Параметры

Параметр Описание
initialFirstVisibleItemIndex Индекс первого видимого пункта при первом показе. По умолчанию 0.
initialFirstVisibleItemScrollOffset Смещение первого видимого пункта в пикселях. По умолчанию 0.

Пример

Давайте привяжем состояние к LazyColumn:

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

На экране список начнётся с первого пункта, положение прокрутки сохранится при повороте экрана.

Пример

Давайте откроем список сразу на втором пункте:

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

На экране сразу будет видна строка "12345", первая уйдёт вверх за край.

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

  • класс LazyListState,
    который возвращает rememberLazyListState
  • функция rememberLazyGridState,
    аналог для ленивой сетки
  • метод scrollToItem,
    который меняет положение списка
  • функция LazyColumn,
    которой передают state
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить