Viele TV-Apps enthalten Detailseiten mit relevanten Metadaten für eine bestimmte einen bestimmten Inhalt (z.B. einen bestimmten Film) anzuzeigen. Detailseiten können als komponierbare Funktion, wobei die Metadaten des ausgewählten Inhalts als Argument verwendet werden.
Der folgende Code zeigt eine typische Implementierung des Detailbildschirms. Es Lädt ein Bild des Films mit dem Titel und der Beschreibung. Die Nutzenden können zum Player-Bildschirm zu wechseln, der durch Klicken auf um die Wiedergabe des Films zu starten. Mit dieser Aktion können Sie den Bildschirm indem Sie eine Callback-Funktion festlegen.
@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)
}
}
}
}