Bạn có thể sử dụng danh sách có nhiều loại mục để hiển thị các loại nội dung hỗn hợp như văn bản, hình ảnh và các phần tử tương tác.
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
Thêm nhiều loại mặt hàng
Bạn có thể chỉ định loại nội dung cho mỗi 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
contentType
trongitems()
. - Ánh xạ từng loại nội dung đến một thành phần kết hợp tương ứng. Ví dụ:
Audio
là 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.
Kết quả

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:

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 ở dạng hình ảnh dễ nhìn và dễ sử dụng cho người 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 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 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.