แอปทีวีหลายแอปมีหน้ารายละเอียดเนื้อหาที่มีข้อมูลเมตาที่เกี่ยวข้องสำหรับเนื้อหาหนึ่งๆ (เช่น ภาพยนตร์ที่เฉพาะเจาะจง) หน้ารายละเอียดสามารถใช้เป็นฟังก์ชันที่คอมโพสิเบิลได้ โดยรับข้อมูลเมตาของเนื้อหาที่เลือกเป็นอาร์กิวเมนต์
โค้ดต่อไปนี้เป็นการใช้งานหน้าจอรายละเอียดตามปกติ โดยโหลดรูปภาพของภาพยนตร์ที่ระบุพร้อมชื่อและคำอธิบาย ผู้ใช้สามารถเปลี่ยนหน้าจอไปยังหน้าจอโปรแกรมเล่นได้ ซึ่งจะทริกเกอร์โดยการคลิกปุ่มเพื่อเริ่มเล่นภาพยนตร์ คุณสามารถจัดการการดำเนินการนี้เพื่อเปลี่ยนหน้าจอได้โดยการตั้งค่าฟังก์ชันการติดต่อกลับ
@Composable
fun DetailsScreen(
movie: Movie,
modifier: Modifier = Modifier,
onStartPlayback: (Movie) -> Unit = {}
) {
Box(modifier = modifier.fillMaxSize()){
AsyncImage(
modifier = Modifier.fillMaxSize()
model = movie.image,
contentDescription = null,
contentScale = ContentScale.Crop,
)
Column(modifier = Modifier.padding(32.dp)){
Text(
text = movie.title,
style = MaterialTheme.typeography.heading2
)
Text(text = movie.description)
Button(onClick = { onStartPlayBack(movie) }){
Text(text = R.string.startPlayback)
}
}
}
}