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