De nombreuses applications TV incluent des pages d'informations sur le contenu avec des métadonnées pertinentes pour un contenu donné (par exemple, un film spécifique). Les pages de détails peuvent être implémentées en tant que fonction composable, en prenant les métadonnées du contenu sélectionné comme argument.
Le code suivant est une implémentation typique de l'écran d'informations. Il charge une image du film donné avec son titre et sa description. L'utilisateur peut effectuer une transition d'écran vers l'écran du lecteur, qui peut être déclenchée en cliquant sur un bouton pour démarrer la lecture du film. Vous pouvez gérer cette action pour effectuer la transition d'écran en définissant une fonction de rappel.
@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)
}
}
}
}