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.10.1")
implementation("androidx.media3:media3-ui-compose-material3:1.10.1")

Dynamiczny

// Include only one of the following dependencies
implementation "androidx.media3:media3-ui-compose:1.10.1"
implementation "androidx.media3:media3-ui-compose-material3:1.10.1"

Zdecydowanie zalecamy tworzenie aplikacji w pierwszej kolejności w Compose lub migrację z używania widoków.

Pełna aplikacja w wersji demonstracyjnej Compose

Biblioteka media3-ui-compose nie zawiera gotowych funkcji kompozycyjnych (takich jak przyciski, wskaźniki, obrazy czy okna dialogowe), ale możesz znaleźć aplikację w wersji demonstracyjnej napisaną w całości w Compose, która nie korzysta z rozwiązań zapewniających interoperacyjność, takich jak umieszczanie PlayerViewAndroidView. Aplikacja w wersji demonstracyjnej korzysta z klas przechowujących zmienne stanu interfejsu z modułu media3-ui-compose i biblioteki Compose Material3.

Której biblioteki potrzebuję?

W zależności od 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ą stan Playerw stan interfejsu.

Ta biblioteka nie zawiera gotowych komponentów Material Design. Odpowiadasz za tworzenie własnych komponentów interfejsu i nadawanie im stylu. Daje Ci 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 zapewnia ostatnią część potoku UI. Zależy to od media3-ui-compose i obejmuje gotowe funkcje Composable, które są stylizowane za pomocą komponentów Material3, w tym funkcji Player Composable, która zapewnia kompleksowe odtwarzanie multimediów z filmem, elementami sterującymi i paskiem postępu. 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ż gotowa.

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 komponent Player i pełny zestaw gotowych komponentów 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;