คุณใช้รายการที่มีรายการหลายประเภทเพื่อแสดงเนื้อหาแบบผสมได้ เช่น ข้อความ รูปภาพ และองค์ประกอบแบบอินเทอร์แอกทีฟ
ผลลัพธ์
ความเข้ากันได้ของเวอร์ชัน
การติดตั้งใช้งานนี้กำหนดให้ตั้งค่า minSDK ของโปรเจ็กต์เป็นระดับ API 21 ขึ้นไป
ความสัมพันธ์
เพิ่มประเภทสินค้าหลายรายการ
คุณระบุประเภทเนื้อหาสำหรับแต่ละรายการของเลย์เอาต์ได้เมื่อเขียน รายการหรือตารางกริดที่มีรายการหลายประเภท ดังนี้
@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)
ประเด็นสำคัญเกี่ยวกับโค้ด
- ระบุประเภทเนื้อหาสำหรับแต่ละรายการโดยการตั้งค่า
contentTypeในitems() - แมปเนื้อหาแต่ละประเภทกับ Composable ที่เกี่ยวข้อง เช่น
AudioคือcontentTypeที่กำหนดไว้ที่อื่นและแมปกับAudioMessageที่ใช้ร่วมกันได้ - Compose จะนำ Composable ที่แสดงผลแล้วมาใช้ซ้ำสำหรับแต่ละรายการของเนื้อหาประเภทหนึ่งๆ
คอลเล็กชันที่มีคำแนะนำนี้
คู่มือนี้เป็นส่วนหนึ่งของคอลเล็กชันคู่มือฉบับย่อที่คัดสรรมาแล้วซึ่งครอบคลุม เป้าหมายการพัฒนา Android ที่กว้างขึ้น
แสดงรายการหรือตารางกริด
รายการและตารางกริดช่วยให้แอปแสดงคอลเล็กชันในรูปแบบที่สวยงามและผู้ใช้ดูได้ง่าย
แสดงคอมโพเนนต์แบบอินเทอร์แอกทีฟ
ดูว่าฟังก์ชันที่ใช้ร่วมกันได้ช่วยให้คุณสร้างคอมโพเนนต์ UI ที่สวยงามตามระบบการออกแบบ Material Design ได้อย่างง่ายดาย
ได้อย่างไร
พื้นฐานการแต่ง (คอลเล็กชันวิดีโอ)
วิดีโอชุดนี้จะแนะนำ Compose API ต่างๆ
และแสดงให้เห็นอย่างรวดเร็วว่ามีอะไรบ้างและวิธีใช้งาน
มีคำถามหรือความคิดเห็น
ไปที่หน้าคำถามที่พบบ่อยเพื่อดูข้อมูลเกี่ยวกับคำแนะนำฉบับย่อ หรือติดต่อเราเพื่อบอกความคิดเห็นของคุณ