Pierwsze kroki z interfejsem użytkownika opartym na Compose

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 PlayerViewAndroidView. 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 PlayerSurfaceContentFrame, 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 PlayerSurfaceContentFrame, 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;