Cómo compilar una pantalla de detalles

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 de componibilidad y tomar los metadatos del contenido seleccionado como su 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 iniciar la reproducción de la película. Puedes controlar esta acción para hacer la transición de la pantalla configurando 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)
       }
     }
  }
}