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

Nhiều ứng dụng truyền hình cung cấp 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 (chẳng hạn như một bộ phim cụ thể). Các trang chi tiết có thể được triển khai dưới dạng một 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 thông thường của màn hình chi tiết. Trình phân tích cú pháp tải một hình ảnh của bộ phim cụ thể 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. Việ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 để 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)
       }
     }
  }
}