Создайте кнопку для включения быстрой прокрутки

Вы можете отобразить кнопку, позволяющую пользователю быстро прокручивать список до определенной точки, экономя время и повышая вовлеченность пользователей.

Совместимость версий

Для этой реализации требуется, чтобы для minSDK вашего проекта был установлен уровень API 21 или выше.

Зависимости

Создайте кнопку для включения быстрой прокрутки

Используйте следующий код, чтобы создать кнопку для плавной быстрой прокрутки в вертикальном отложенном списке из 10 элементов:

@Composable
fun MessageList(modifier: Modifier = Modifier) {
    val listState = rememberLazyListState()
    val coroutineScope = rememberCoroutineScope()

    LazyColumn(state = listState, modifier = Modifier.height(120.dp)) {
        items(10) { index ->
            Text(
                modifier = Modifier.height(40.dp),
                text = "Item $index"
            )
        }
    }

    Button(onClick = {
        coroutineScope.launch {
            listState.animateScrollToItem(index = 0)
        }
    }) {
        Text(text = "Go top")
    }
}

Ключевые моменты о коде

  • Использует объект listState для запоминания состояния прокрутки LazyColumn до выбранной позиции.
  • Запускает сопрограмму для вызова listState.animateScrollToItem , которая прокручивает до индексированного элемента, одновременно анимируя действие прокрутки.

Результаты

Вертикально прокручиваемый список с активной кнопкой
Рисунок 1. Вертикальный прокручиваемый список с кнопкой быстрой прокрутки.

Коллекции, содержащие это руководство

Это руководство является частью тщательно подобранной коллекции быстрых руководств, охватывающих более широкие цели разработки Android:

Списки и сетки позволяют вашему приложению отображать коллекции в визуально приятной форме, удобной для использования пользователями.
Узнайте, как компонуемые функции позволяют легко создавать красивые компоненты пользовательского интерфейса на основе системы проектирования Material Design.
В этой серии видеороликов представлены различные API Compose, быстро показано, что доступно и как их использовать.

Есть вопросы или отзывы

Перейдите на нашу страницу часто задаваемых вопросов и узнайте о кратких руководствах или свяжитесь с нами и сообщите нам свои мысли.