Creare una schermata dei dettagli

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, prendendo come argomento i metadati dei contenuti selezionati.

Il seguente codice è una tipica implementazione della schermata dei dettagli. Carica un'immagine del film con il titolo e la descrizione. L'utente può eseguire una transizione alla schermata del player, che può essere attivata facendo clic su un pulsante per avviare la riproduzione del filmato. Puoi gestire questa azione per eseguire la transizione tra le schermate 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)
       }
     }
  }
}