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

Класс PagerState

Класс PagerState из androidx.compose.foundation.pager описывает, какая страница сейчас на экране и как идёт жест листания. Объект получают из rememberPagerState с лямбдой pageCount. Свойство currentPage даёт индекс открытой страницы. Переключить страницу программно помогают suspend-методы scrollToPage и animateScrollToPage.

Синтаксис

val pagerState = rememberPagerState(pageCount = { 3 }) HorizontalPager(state = pagerState) { page -> }

Методы

Метод Описание
scrollToPage Suspend-метод, который сразу открывает страницу по номеру.
animateScrollToPage Suspend-метод, который плавно листает к странице.

Пример

Давайте переключим страницу кнопкой через animateScrollToPage:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.layout.Column import androidx.compose.foundation.pager.HorizontalPager import androidx.compose.foundation.pager.rememberPagerState import androidx.compose.material3.Button import androidx.compose.material3.Text import androidx.compose.runtime.rememberCoroutineScope import kotlinx.coroutines.launch class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { val pagerState = rememberPagerState(pageCount = { 2 }) val scope = rememberCoroutineScope() Column { Button( onClick = { scope.launch { pagerState.animateScrollToPage(1) } }, ) { Text(text = "12345") } HorizontalPager(state = pagerState) { page -> val text = if (page == 0) "abcde" else "12345" Text(text = text) } } } } }

На экране после нажатия pager покажет вторую страницу с текстом "12345".

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

  • функция rememberPagerState,
    которая создаёт PagerState
  • функция HorizontalPager,
    которой передают state
  • функция VerticalPager,
    вертикальный вариант pager
  • класс LazyListState,
    состояние обычного ленивого списка
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить