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, die Metadaten der ausgewählten Inhalte als Argument verwendet.

Der folgende Code ist eine typische Implementierung des Detailbildschirms. Es lädt ein Bild des angegebenen Films mit Titel und Beschreibung. Der Nutzer kann zum Bildschirm des Players wechseln, indem er auf eine Schaltfläche klickt, um die Filmwiedergabe zu starten. Sie können diese Aktion verarbeiten, um den Bildschirmübergang durch Festlegen einer Callback-Funktion zu ermöglichen.

@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)
       }
     }
  }
}