Creare una schermata dei dettagli

Molte app per la TV includono pagine dei dettagli dei contenuti con metadati pertinenti per un determinato contenuto (ad esempio un film specifico). Le pagine dei dettagli possono essere implementate come funzione componibile, utilizzando come argomento i metadati dei contenuti selezionati.

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