Wiele aplikacji telewizyjnych zawiera strony ze szczegółami treści z odpowiednimi metadanymi dla danego elementu (np. konkretnego filmu). Strony szczegółów można zaimplementować jako funkcję typu „composable”, która przyjmuje metadane wybranych treści jako argument.
Poniższy kod to typowa implementacja ekranu szczegółów. Wczytuje obraz danego filmu wraz z tytułem i opisem. Użytkownik może przejść do ekranu odtwarzacza, co można wywołać, klikając przycisk rozpoczęcia odtwarzania filmu. Możesz obsłużyć to działanie, aby przejście ekranu nastąpiło po ustawieniu funkcji wywołania zwrotnego.
@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)
}
}
}
}