Utwórz ekran szczegółów

Wiele aplikacji telewizyjnych zawiera strony szczegółów treści z odpowiednimi metadanymi dla danego elementu treści (np. konkretnego filmu). Strony szczegółów można zaimplementować jako funkcję kompozycyjną, która jako argument przyjmuje metadane wybranej treści.

Poniższy kod to typowa implementacja ekranu szczegółów. Wczytuje obraz podanego filmu wraz z tytułem i opisem. Użytkownik może przejść do ekranu odtwarzacza, klikając przycisk, aby rozpocząć odtwarzanie filmu. Możesz obsłużyć to działanie, aby przejść do ekranu, ustawiając funkcję wywołania zwrotnego.

@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))
            }
        }
    }
}