Detailbildschirm erstellen

Viele TV-Apps enthalten Seiten mit Inhaltsdetails mit relevanten Metadaten für einen bestimmten 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 zeigt eine typische Implementierung des Detailbildschirms. Mit dieser Funktion wird ein Bild des jeweiligen Films mit Titel und Beschreibung geladen. Der Nutzer kann zum Bildschirm des Players wechseln, der durch Klicken auf eine Schaltfläche zum Starten der Filmwiedergabe ausgelöst werden kann. Sie können diese Aktion verarbeiten, um den Bildschirmwechsel vorzunehmen, 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)
       }
     }
  }
}