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

Nhiều ứng dụng TV có trang chi tiết nội dung với siêu dữ liệu liên quan cho một 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. Phương thức này tải hình ảnh của một 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 màn hình sang màn hình trình phá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 đặ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)
       }
     }
  }
}