สร้างรายการโดยใช้รายการหลายประเภท

คุณใช้รายการที่มีรายการหลายประเภทเพื่อแสดงเนื้อหาแบบผสมได้ เช่น ข้อความ รูปภาพ และองค์ประกอบแบบอินเทอร์แอกทีฟ

ผลลัพธ์

เอาต์พุตโค้ดที่แสดงข้อความเสียงและข้อความ
รูปที่ 1 เอาต์พุตโค้ดที่แสดงข้อความเสียงและข้อความ

ความเข้ากันได้ของเวอร์ชัน

การติดตั้งใช้งานนี้กำหนดให้ตั้งค่า 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 ต่างๆ และแสดงให้เห็นอย่างรวดเร็วว่ามีอะไรบ้างและวิธีใช้งาน

มีคำถามหรือความคิดเห็น

ไปที่หน้าคำถามที่พบบ่อยเพื่อดูข้อมูลเกี่ยวกับคำแนะนำฉบับย่อ หรือติดต่อเราเพื่อบอกความคิดเห็นของคุณ