Material3 Compose

Thư viện media3-ui-compose-material3 xử lý cả việc quản lý trạng thái và tạo kiểu Material3 ở bên trong. Để biết thêm thông tin về thư viện cần dùng, hãy xem phần Tổng quan về Media3 Compose.

// The library provides styled UI components
Row {
  SeekBackButton(player)
  PlayPauseButton(player)
  SeekForwardButton(player)
}
// You can rearrange the composables into a layout that suits your needs
@Composable
fun PlayerProgressControlsLeftAligned(player: Player) {
  Row {
    PositionAndDurationText(player)
    ProgressSlider(player)
  }
}

@Composable
fun PlayerProgressControlsCenterAligned(player: Player) {
  Row {
    PositionText(player)
    ProgressSlider(player)
    DurationText(player)
  }
}

Tuỳ chỉnh các thành phần Material3

Mặc dù media3-ui-compose-material3 cung cấp các thành phần tuân theo Material3 Design, nhưng bạn vẫn có toàn quyền kiểm soát việc tạo chủ đề. Bạn có thể tuỳ chỉnh màu sắc, kiểu chữ và hình dạng bằng cách bao bọc giao diện người dùng trình phát trong một MaterialTheme.

Ví dụ: để thay đổi màu của PlayPauseButton, bạn có thể cung cấp một colorScheme tuỳ chỉnh:

MaterialTheme(
  colorScheme =
    lightColorScheme(
      primary = Color.Red, // Change the primary color for the button
      onPrimary = Color.White,
    )
) {
  // The PlayPauseButton will now use the custom colors
  PlayPauseButton(player)
}

Các thành phần Material3 hiện có

Thư viện media3-ui-compose-material3 cung cấp một bộ thành phần kết hợp được tạo sẵn cho các chế độ điều khiển phổ biến của trình phát. Sau đây là một số thành phần mà bạn có thể sử dụng trực tiếp trong ứng dụng của mình:

Thành phần Mô tả
PlayPauseButton Nút chuyển đổi giữa phát và tạm dừng.
SeekBackButton Một nút để tua lại theo một mức tăng xác định.
SeekForwardButton Một nút để tua đi theo một mức tăng xác định.
NextButton Một nút để chuyển đến mục nội dung nghe nhìn tiếp theo.
PreviousButton Một nút để chuyển đến mục nội dung nghe nhìn trước đó.
RepeatButton Nút chuyển đổi giữa các chế độ lặp lại.
ShuffleButton Một nút để bật/tắt chế độ trộn bài.
MuteButton Nút tắt và bật tiếng cho trình phát.
PositionAndDurationText Một thành phần kết hợp văn bản hiển thị vị trí hiện tại và tổng thời lượng.
PositionText Một thành phần kết hợp văn bản hiển thị vị trí hiện tại.
DurationText Một thành phần kết hợp văn bản hiển thị tổng thời lượng.
RemainingDurationText Một thành phần kết hợp văn bản hiển thị thời lượng còn lại.
ProgressSlider Một thanh trượt cho biết tiến trình phát và cho phép người dùng tua.

Đây chưa phải là danh sách đầy đủ. Tham khảo tài liệu tham khảo API của thư viện để biết tất cả các thành phần hiện có.

Hai thành phần kết hợp dựng sẵn khác mà bạn có thể cần là những thành phần liên quan đến hoạt động quản lý bề mặt và nằm trong mô-đun media3-ui-compose vì chúng không có tính năng tạo giao diện theo Material.

Thành phần Mô tả
ContentFrame Một nền tảng để hiển thị nội dung nghe nhìn, xử lý việc quản lý tỷ lệ khung hình, đổi kích thước và màn trập
PlayerSurface Vùng thô bao bọc SurfaceViewTextureView trong AndroidView