Cómo compilar una pantalla de detalles

Muchas apps para TV incluyen páginas de detalles de contenido con metadatos relevantes sobre un determinado contenido (por ejemplo, una película específica). Las páginas de detalles se pueden implementar como función de componibilidad y que toma los metadatos del contenido seleccionado como su argumento.

El siguiente código es una implementación típica de la pantalla de detalles. Integra carga una imagen de una película determinada con su título y descripción. El usuario puede realizar un de pantalla a la del reproductor, que se puede activar haciendo clic en un para iniciar la reproducción de la película. Puedes controlar esta acción para que la pantalla de transición estableciendo 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)
       }
     }
  }
}