Многие телевизионные приложения включают страницы с подробными сведениями о контенте с соответствующими метаданными для определенной части контента (например, конкретного фильма). Страницы сведений могут быть реализованы как составная функция, принимающая в качестве аргумента метаданные выбранного контента.
Следующий код представляет собой типичную реализацию экрана сведений. Он загружает изображение данного фильма с его названием и описанием. Пользователь может выполнить переход экрана на экран проигрывателя, который можно запустить, нажав кнопку, чтобы начать воспроизведение фильма. Вы можете обработать это действие, чтобы выполнить переход экрана, установив функцию обратного вызова.
@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)
}
}
}
}
Многие телевизионные приложения включают страницы с подробными сведениями о контенте с соответствующими метаданными для определенной части контента (например, конкретного фильма). Страницы сведений могут быть реализованы как составная функция, принимающая в качестве аргумента метаданные выбранного контента.
Следующий код представляет собой типичную реализацию экрана сведений. Он загружает изображение данного фильма с его названием и описанием. Пользователь может выполнить переход экрана на экран проигрывателя, который можно запустить, нажав кнопку, чтобы начать воспроизведение фильма. Вы можете обработать это действие, чтобы выполнить переход экрана, установив функцию обратного вызова.
@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)
}
}
}
}
Многие телевизионные приложения включают страницы с подробными сведениями о контенте с соответствующими метаданными для определенной части контента (например, конкретного фильма). Страницы сведений могут быть реализованы как составная функция, принимающая в качестве аргумента метаданные выбранного контента.
Следующий код представляет собой типичную реализацию экрана сведений. Он загружает изображение данного фильма с его названием и описанием. Пользователь может выполнить переход экрана на экран проигрывателя, который можно запустить, нажав кнопку, чтобы начать воспроизведение фильма. Вы можете обработать это действие, чтобы выполнить переход экрана, установив функцию обратного вызова.
@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)
}
}
}
}