Dodawanie zależności
Biblioteka Media3 zawiera 2 moduły interfejsu oparte na Jetpack Compose. Nie musisz dodawać obu, ponieważ komponent Material3 zależy od komponentu podstawowego.
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"
Zdecydowanie zalecamy tworzenie aplikacji w pierwszej kolejności w Compose lub migrację z używania widoków.
Pełna aplikacja demonstracyjna Compose
Biblioteka media3-ui-compose nie zawiera gotowych komponentów kompozycyjnych (takich jak przyciski, wskaźniki, obrazy czy okna), ale możesz znaleźć aplikację demonstracyjną napisaną w całości w Compose, która nie korzysta z rozwiązań zapewniających interoperacyjność, takich jak umieszczanie PlayerView w AndroidView. Aplikacja demonstracyjna korzysta z klas przechowujących stan interfejsu z modułu media3-ui-compose i biblioteki Compose Material3.
Której biblioteki potrzebuję?
W zależności od wymaganego poziomu dostosowania możesz wybrać jedną z 2 bibliotek Media3 Compose. Aby zrozumieć różnicę, warto poznać potok produkcji stanu interfejsu: Business logic → UI logic → UI.
Używaj media3-ui-compose, aby mieć pełną kontrolę nad komponentami interfejsu.
Ta biblioteka zapewnia połączenie Business logic → UI logic. Zawiera podstawowe komponenty, takie jak PlayerSurface i ContentFrame, oraz klasy przechowujące stan (np. PlayPauseButtonState), które przekształcają Playerstan w stan interfejsu.
Ta biblioteka nie zawiera gotowych komponentów Material Design. Odpowiadasz za tworzenie własnych komponentów interfejsu i nadawanie im stylu. Zapewnia maksymalną kontrolę nad wyglądem i stylem, dzięki czemu idealnie sprawdza się w przypadku wysoce spersonalizowanego systemu projektowania.
Używaj media3-ui-compose-material3, aby szybciej zintegrować usługę z Material Design.
Ta biblioteka stanowi ostatnią UI część potoku. Zależy od media3-ui-compose i zawiera gotowe funkcje kompozycyjne, które są stylizowane za pomocą komponentów Material 3. Eliminuje to konieczność tworzenia od podstaw własnych przycisków i innych elementów interfejsu. Możesz nadal dostosowywać motyw, kolory i ikony tych komponentów, ale podstawowa implementacja jest już dostępna.
W skrócie
| Funkcja | media3-ui-compose |
media3-ui-compose-material3 |
|---|---|---|
| Komponenty interfejsu | Elementy podstawowe, takie jak PlayerSurface i ContentFrame, ale bez wstępnie ostylowanych przycisków ani elementów sterujących. |
Zawiera pełny zestaw gotowych komponentów Composables w stylu Material 3, takich jak PlayPauseButton, SeekBackButton, PositionAndDurationText itp. |
| Zarządzanie stanem | Umożliwia posiadaczom remember...State zarządzanie logiką. |
Zarządza stanem wewnętrznie, ale w razie potrzeby możesz uzyskać dostęp do elementów stanu. |
| Zależności | androidx.compose.foundation |
media3-ui-compose, androidx.compose.material3, com.google.android.material |
| Główny przypadek użycia | Tworzenie interfejsu odtwarzacza z użyciem niestandardowego systemu projektowania. Pełna kontrola nad wyglądem i stylem. | szybkie tworzenie interfejsu odtwarzacza zgodnego z wytycznymi Material Design 3; |