Nhiều ứng dụng truyền hình có các trang chi tiết nội dung kèm theo siêu dữ liệu liên quan cho một nội dung cụ thể (tức là một bộ phim cụ thể). Bạn có thể triển khai các trang chi tiết dưới dạng một hàm kết hợp, lấy siêu dữ liệu của nội dung đã chọn làm đối số.
Đoạn mã sau đây là một cách triển khai điển hình của màn hình chi tiết. Thao tác này tải một hình ảnh của bộ phim đã cho cùng với tiêu đề và nội dung mô tả của bộ phim đó. Người dùng có thể chuyển đổi màn hình sang màn hình trình phát. Thao tác này có thể được kích hoạt bằng cách nhấp vào một nút để bắt đầu phát phim. Bạn có thể xử lý thao tác này để thực hiện chuyển đổi màn hình bằng cách đặt một hàm gọi lại.
@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)
}
}
}
}