Muchas apps para TV incluyen páginas de detalles de contenido con metadatos relevantes para un contenido determinado (es decir, una película específica). Las páginas de detalles se pueden implementar como una función componible, que toma los metadatos del contenido seleccionado como argumento.
El siguiente código es una implementación típica de la pantalla de detalles. Carga una imagen de la película determinada con su título y descripción. El usuario puede realizar una transición de pantalla a la pantalla del reproductor, que se puede activar con un clic en un botón para comenzar la reproducción de la película. Para controlar esta acción y hacer la transición de pantalla, configura una función de devolución de llamada.
@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)
}
}
}
}