Cómo compilar una pantalla de detalles

Muchas apps para TVs incluyen páginas de detalles de contenido con metadatos pertinentes para un contenido determinado (p.ej., una película específica). Las páginas de detalles se pueden implementar como una función de componibilidad, 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 haciendo clic en un botón para iniciar la reproducción de la película. Puedes controlar esta acción para que se realice la transición de 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.backgroundImageUrl,
            contentDescription = null,
            contentScale = ContentScale.Crop,
        )
        Column(modifier = Modifier.padding(32.dp)) {
            Text(
                text = movie.title,
                style = MaterialTheme.typography.headlineMedium
            )
            Text(text = movie.description)
            Button(onClick = { onStartPlayback(movie) }) {
                Text(text = stringResource(id = R.string.startPlayback))
            }
        }
    }
}