Bạn có thể sử dụng một danh sách có nhiều loại mục để hiển thị các loại nội dung hỗn hợp, chẳng hạn như văn bản, hình ảnh và các phần tử tương tác.
Kết quả
Khả năng tương thích với phiên bản
Việc triển khai này yêu cầu bạn đặt minSDK của dự án thành cấp độ API 21 trở lên.
Phần phụ thuộc
Thêm nhiều loại mặt hàng
Bạn có thể chỉ định loại nội dung cho từng mục của bố cục khi soạn danh sách hoặc lưới có nhiều loại mục:
@Composable fun ListWithMultipleItems(messages: List<Any>) { LazyColumn { items( messages.size, contentType = { it } ) { for (message in messages) when (message) { is MediaStore.Audio -> AudioMessage(message) is Text -> TextMessage(message) } } } } @Composable fun AudioMessage(message: MediaStore.Audio) { TODO("Not yet implemented.") } @Composable fun TextMessage(message: Text) { TODO("Not yet implemented.") } data class SampleMessage(val text: String, val content: Any)
Các điểm chính về mã
- Chỉ định loại nội dung cho từng mục bằng cách đặt
contentTypetrongitems(). - Liên kết từng loại nội dung với một thành phần kết hợp tương ứng. Ví dụ:
Audiolà mộtcontentTypeđược xác định ở nơi khác và được liên kết với một thành phần kết hợpAudioMessage. - Compose sử dụng lại các thành phần kết hợp đã kết xuất cho từng mục của một loại nội dung nhất định.
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, bao gồm các mục tiêu phát triển Android rộng hơn:
Hiển thị danh sách hoặc lưới
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 theo một hình thức bắt mắt và dễ dàng cho người dùng sử dụng.
Hiển thị các thành phần tương tác
Tìm hiểu cách các hàm có khả năng kết hợp có thể 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.
Kiến thức cơ bản về Compose (bộ sưu tập video)
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 chúng.
Bạn có câu hỏi hoặc ý kiến phản hồi
Truy cập vào trang câu hỏi thường gặp của chúng tôi để tìm hiểu về các hướng dẫn nhanh hoặc liên hệ với chúng tôi để chia sẻ ý kiến của bạn.