Material3 Compose

Biblioteka media3-ui-compose-material3 wewnętrznie obsługuje zarówno zarządzanie stanem, jak i style Material3. Więcej informacji o tym, której biblioteki używać, znajdziesz w omówieniu 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)
  }
}

Dostosowywanie komponentów Material3

media3-ui-compose-material3 udostępnia komponenty zgodne z zasadami Material 3, ale nadal masz pełną kontrolę nad motywami. Możesz dostosować kolory, typografię i kształty, umieszczając interfejs odtwarzacza w tagu MaterialTheme.

Aby na przykład zmienić kolor elementu PlayPauseButton, możesz podać niestandardowy element colorScheme:

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)
}

Dostępne komponenty Material 3

media3-ui-compose-material3 biblioteka zawiera zestaw gotowych komponentów kompozycyjnych do typowych elementów sterujących odtwarzaczem. Oto niektóre komponenty, których możesz używać bezpośrednio w aplikacji:

Komponent Opis
PlayPauseButton Przycisk, który przełącza między odtwarzaniem a wstrzymaniem.
SeekBackButton Przycisk przewijania do tyłu o określony przyrost.
SeekForwardButton Przycisk przewijania do przodu o określony przyrost.
NextButton Przycisk przewijania do następnego elementu multimedialnego.
PreviousButton Przycisk przewijania do poprzedniego elementu multimedialnego.
RepeatButton Przycisk przełączania trybów powtarzania.
ShuffleButton Przycisk do włączania i wyłączania trybu losowego.
MuteButton przycisk wyciszania i wyłączania wyciszenia odtwarzacza;
PositionAndDurationText Komponent tekstowy, który wyświetla bieżącą pozycję i całkowity czas trwania.
PositionText Kompozycja tekstowa, która wyświetla bieżącą pozycję.
DurationText Kompozycja tekstowa, która wyświetla łączny czas trwania.
RemainingDurationText Komponent tekstowy, który wyświetla pozostały czas trwania.
ProgressSlider Suwak, który pokazuje postęp odtwarzania i umożliwia użytkownikowi przewijanie.

Ta lista nie jest wyczerpująca. Wszystkie dostępne komponenty znajdziesz w dokumentacji interfejsu API biblioteki.

Dwa inne gotowe komponenty, których prawdopodobnie będziesz potrzebować, są związane z zarządzaniem powierzchnią i znajdują się w module media3-ui-compose, ponieważ nie mają motywu Material.

Komponent Opis
ContentFrame Powierzchnia do wyświetlania treści multimedialnych, która zarządza współczynnikiem proporcji, zmianą rozmiaru i migawką.
PlayerSurface Surowa powierzchnia, która otacza SurfaceView i TextureView w AndroidView