Creare una schermata dei dettagli

Molte app TV includono pagine di dettagli dei contenuti con metadati pertinenti per un determinato elemento (ad esempio 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 è in grado di passare 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( onStartPlayBack(movie) }){
         Text(text = R.string.startPlayback)
       }
     }
  }
}