สร้างหน้าจอรายละเอียด

แอป TV จำนวนมากมีหน้ารายละเอียดเนื้อหาพร้อมข้อมูลเมตาที่เกี่ยวข้องสำหรับเนื้อหาหนึ่งๆ (เช่น ภาพยนตร์เรื่องหนึ่งๆ) หน้ารายละเอียดสามารถใช้เป็นฟังก์ชันที่ประกอบกันได้ โดยใช้ข้อมูลเมตาของเนื้อหาที่เลือกเป็นอาร์กิวเมนต์

โค้ดต่อไปนี้เป็นการติดตั้งใช้งานหน้าจอรายละเอียดโดยทั่วไป โดยจะโหลดรูปภาพของภาพยนตร์ที่ระบุพร้อมชื่อและคำอธิบาย ผู้ใช้สามารถเปลี่ยนหน้าจอเป็นหน้าจอเพลเยอร์ได้ ซึ่งจะทริกเกอร์ได้โดยการคลิกปุ่มเพื่อเริ่มเล่นภาพยนตร์ คุณสามารถจัดการการดำเนินการนี้เพื่อทำให้หน้าจอเปลี่ยนผ่านได้โดยการตั้งค่าฟังก์ชัน Callback

@Composable
fun DetailsScreen(
    movie: Movie,
    modifier: Modifier = Modifier,
    onStartPlayback: (Movie) -> Unit = {}
) {
    Box(modifier = modifier.fillMaxSize()) {
        AsyncImage(
            modifier = Modifier.fillMaxSize(),
            model = movie.backgroundImageUrl,
            contentDescription = null,
            contentScale = ContentScale.Crop,
        )
        Column(modifier = Modifier.padding(32.dp)) {
            Text(
                text = movie.title,
                style = MaterialTheme.typography.headlineMedium
            )
            Text(text = movie.description)
            Button(onClick = { onStartPlayback(movie) }) {
                Text(text = stringResource(id = R.string.startPlayback))
            }
        }
    }
}