Detailbildschirm erstellen

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

Der folgende Code zeigt eine typische Implementierung des Detailbildschirms. Über sie wird ein Bild des angegebenen Films mit dem entsprechenden Titel und der Beschreibung geladen. Der Nutzer kann einen Bildschirmübergang zum Playerbildschirm vornehmen, der durch Klicken auf eine Schaltfläche zum Starten der Filmwiedergabe ausgelöst werden kann. Sie können diese Aktion für den Bildschirmübergang ausführen, 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)
       }
     }
  }
}