Как запустить lazyRow в последнем индексе Jetpack Compose?

Как я могу заставить lazyRow перейти к последнему индексу при запуске приложения?

2 ответа

Решение
      @Composable
fun MessageList(messages: List<Message>) {
    val listState = rememberLazyListState()
    // Remember a CoroutineScope to be able to launch
    val coroutineScope = rememberCoroutineScope()

    LazyColumn(state = listState) {
        // ...
    }

    ScrollToTopButton(
        onClick = {
            coroutineScope.launch {
                // Animate scroll to the first item
                listState.animateScrollToItem(index = lastIndex)
            }
        }
    )
}

Пожалуйста, обратитесь к документации для получения дополнительной информации здесь

Вы можете сделать то же самое для LazyRow

Вы можете использовать метод animateScrollToItem:

Что-то вроде:

      val itemsList = //... your list
val listState = rememberLazyListState()

// Remember a CoroutineScope to be able to launch
val coroutineScope = rememberCoroutineScope()

LazyColumn(state = listState) {

    items(itemsList){
        Text( "Item $it" )
    }
}

Для автоматического запуска вы можете использовать:

      DisposableEffect(Unit) {
    coroutineScope.launch {
        listState.animateScrollToItem(index = itemsList.size-1)
    }
    onDispose { }
}
Другие вопросы по тегам