Detailbildschirm erstellen

Viele TV-Apps enthalten Inhaltsdetailseiten mit relevanten Metadaten für den jeweiligen Inhalt (z. B. einen bestimmten Film). Detailseiten können als zusammensetzbare Funktion implementiert werden, die Metadaten des ausgewählten Inhalts als Argument verwendet.

Der folgende Code ist eine typische Implementierung des Detailbildschirms. Er lädt ein Bild des angegebenen Films mit Titel und Beschreibung. Der Nutzer kann zum Playerbildschirm wechseln, indem er auf einen Button klickt, mit dem die Filmwiedergabe gestartet wird. Sie können diesen Wechsel zum Playerbildschirm erreichen, 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)
       }
     }
  }
}