Tạo nút để bật tính năng cuộn nhanh

Bạn có thể hiển thị một nút để cho phép người dùng cuộn nhanh đến một điểm cụ thể trong danh sách, giúp tiết kiệm thời gian và tăng mức độ tương tác của người dùng.

Khả năng tương thích của phiên bản

Phương thức triển khai này yêu cầu bạn phải đặt minSDK của dự án thành API cấp 21 trở lên.

Phần phụ thuộc

Tạo nút để bật tính năng cuộn nhanh

Sử dụng mã sau để tạo một nút cuộn nhanh mượt mà trong danh sách lazy dọc có 10 mục:

@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")
    }
}

Các điểm chính về mã

  • Sử dụng đối tượng listState để ghi nhớ trạng thái cuộn của LazyColumn đến vị trí đã chọn.
  • Chạy một coroutine để gọi listState.animateScrollToItem. Thao tác này sẽ cuộn đến mục được lập chỉ mục trong khi tạo ảnh động cho thao tác cuộn.

Kết quả

Danh sách cuộn theo chiều dọc có nút đang hoạt động
Hình 1. Danh sách cuộn theo chiều dọc có nút cuộn nhanh.

Các bộ sưu tập chứa hướng dẫn này

Hướng dẫn này là một phần của các bộ sưu tập Hướng dẫn nhanh được tuyển chọn này, bao gồm các mục tiêu phát triển Android rộng hơn:

Danh sách và lưới cho phép ứng dụng của bạn hiển thị các bộ sưu tập ở dạng hình ảnh dễ nhìn và dễ sử dụng cho người dùng.
Tìm hiểu cách các hàm có khả năng kết hợp giúp bạn dễ dàng tạo các thành phần giao diện người dùng đẹp mắt dựa trên hệ thống thiết kế Material Design.
Loạt video này giới thiệu nhiều API Compose, nhanh chóng cho bạn biết những API có sẵn và cách sử dụng các API đó.

Bạn có câu hỏi hoặc ý kiến phản hồi

Hãy truy cập vào trang câu hỏi thường gặp để tìm hiểu về các hướng dẫn nhanh hoặc liên hệ với chúng tôi để cho chúng tôi biết suy nghĩ của bạn.