Tạo màn hình chi tiết

Nhiều ứng dụng truyền hình đưa vào các trang chi tiết nội dung với siêu dữ liệu liên quan cho một phần nội dung nhất định (tức là một bộ phim cụ thể). Trang chi tiết có thể được triển khai dưới dạng hàm có khả năng kết hợp, lấy siêu dữ liệu của nội dung đã chọn làm đối số.

Mã sau đây là cách triển khai điển hình của màn hình chi tiết. Tệp này tải hình ảnh của bộ phim đã cho cùng với tiêu đề và nội dung mô tả. Người dùng có thể chuyển đổi 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 nút để bắt đầu phát phim. Bạn có thể xử lý thao tác này để chuyển đổi màn hình bằng cách thiết lập một hàm callback.

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