Molte app TV includono pagine dei dettagli dei contenuti con metadati pertinenti per un determinato contenuto (ad es. un film specifico). Le pagine dei dettagli possono essere implementate come funzione componibile, che accetta i metadati dei contenuti selezionati come argomento.
Il seguente codice è un'implementazione tipica della schermata dei dettagli. Carica un'immagine del film indicato con il titolo e la descrizione. L'utente può effettuare una transizione dello schermo alla schermata del player, che può essere attivata facendo clic su un pulsante per avviare la riproduzione del film. Puoi gestire questa azione per eseguire la transizione dello schermo impostando una funzione di callback.
@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)
}
}
}
}