Thêm phần phụ thuộc
Thư viện Media3 bao gồm 2 mô-đun giao diện người dùng dựa trên Jetpack Compose. Bạn không cần thêm cả hai vì Material3 phụ thuộc vào Material Design cốt lõi.
Kotlin
// Include only one of the following dependencies implementation("androidx.media3:media3-ui-compose:1.9.0") implementation("androidx.media3:media3-ui-compose-material3:1.9.0")
Groovy
// Include only one of the following dependencies implementation "androidx.media3:media3-ui-compose:1.9.0" implementation "androidx.media3:media3-ui-compose-material3:1.9.0"
Bạn nên phát triển ứng dụng theo cách ưu tiên Compose hoặc di chuyển từ việc sử dụng Khung hiển thị.
Ứng dụng minh hoạ hoàn toàn bằng Compose
Mặc dù thư viện media3-ui-compose không bao gồm các thành phần kết hợp có sẵn (chẳng hạn như nút, chỉ báo, hình ảnh hoặc hộp thoại), nhưng bạn có thể tìm thấy một ứng dụng minh hoạ được viết hoàn toàn bằng Compose mà không cần đến bất kỳ giải pháp tương tác nào như bao bọc PlayerView trong AndroidView. Ứng dụng minh hoạ sử dụng các lớp trình giữ trạng thái giao diện người dùng từ mô-đun media3-ui-compose và sử dụng thư viện Compose Material3.
Tôi cần thư viện nào?
Tuỳ thuộc vào mức độ tuỳ chỉnh mà bạn yêu cầu, bạn có thể chọn một trong hai thư viện Media3 Compose. Để hiểu rõ sự khác biệt, bạn nên nghĩ về quy trình tạo trạng thái giao diện người dùng: Business logic → UI logic → UI.
Dùng media3-ui-compose để có toàn quyền kiểm soát các thành phần trên giao diện người dùng.
Thư viện này cung cấp kết nối Business logic → UI logic. Thư viện này chứa các thành phần cơ bản như PlayerSurface và ContentFrame, cùng với các lớp trình giữ trạng thái (ví dụ: PlayPauseButtonState) chuyển đổi trạng thái Player thành trạng thái giao diện người dùng.
Thư viện này không cung cấp các thành phần Material Design có thể sử dụng ngay. Bạn chịu trách nhiệm tạo các thành phần giao diện người dùng của riêng mình và tạo kiểu cho các thành phần đó. Phương pháp này giúp bạn kiểm soát tối đa giao diện, khiến nó trở nên lý tưởng nếu bạn có một hệ thống thiết kế tuỳ chỉnh cao.
Sử dụng media3-ui-compose-material3 để tích hợp nhanh hơn với Material Design.
Thư viện này cung cấp phần UI cuối cùng của quy trình. Thành phần này phụ thuộc vào media3-ui-compose và bao gồm các hàm có khả năng kết hợp được tạo sẵn, được định kiểu bằng các thành phần Material3. Việc này giúp bạn không cần phải tạo các nút và các phần tử khác trên giao diện người dùng từ đầu. Bạn vẫn có thể tuỳ chỉnh giao diện, màu sắc và biểu tượng của các thành phần này, nhưng quá trình triển khai cốt lõi sẽ được cung cấp cho bạn.
Xem nhanh
| Tính năng | media3-ui-compose |
media3-ui-compose-material3 |
|---|---|---|
| Thành phần giao diện người dùng | Các phần tử cơ bản như PlayerSurface và ContentFrame, nhưng không có các nút hoặc thành phần điều khiển được tạo kiểu sẵn. |
Cung cấp một bộ đầy đủ các Composables được tạo sẵn theo kiểu Material3, chẳng hạn như PlayPauseButton, SeekBackButton, PositionAndDurationText, v.v. |
| Quản lý trạng thái | Cung cấp các đối tượng giữ remember...State để quản lý logic. |
Quản lý trạng thái nội bộ, nhưng bạn vẫn có thể truy cập vào các đối tượng lưu giữ trạng thái nếu cần. |
| Phần phụ thuộc | androidx.compose.foundation |
media3-ui-compose, androidx.compose.material3, com.google.android.material |
| Trường hợp sử dụng chính | Tạo giao diện người dùng của trình phát bằng hệ thống thiết kế tuỳ chỉnh. Toàn quyền kiểm soát giao diện. | Nhanh chóng xây dựng giao diện người dùng của trình phát tuân theo các nguyên tắc của Material Design 3. |