La libreria media3-ui-compose-material3 fornisce un elemento componibile Player che
mostra i controlli del player, la barra di avanzamento e i contenuti multimediali attuali. Gestisce internamente sia la gestione dello stato sia lo stile Material3. Per ulteriori informazioni
su quale libreria utilizzare, consulta la panoramica di 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) } }
Personalizzare i componenti Material3
Sebbene media3-ui-compose-material3 fornisca componenti che seguono il design Material3, hai comunque il controllo completo sui temi. Puoi personalizzare colori, tipografia e forme racchiudendo l'interfaccia utente del player in un MaterialTheme.
Ad esempio, per modificare il colore di PlayPauseButton, puoi fornire un
colorScheme personalizzato:
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) }
Componenti Material3 disponibili
La libreria media3-ui-compose-material3 fornisce un insieme di elementi componibili predefiniti per i controlli del player più comuni. Ecco alcuni dei componenti che puoi utilizzare direttamente nella tua app:
| Componente | Descrizione |
|---|---|
Player |
Un player con controlli, barra di avanzamento e frame dei contenuti. |
PlayPauseButton |
Un pulsante che attiva/disattiva la riproduzione e la pausa. |
SeekBackButton |
Un pulsante per tornare indietro di un incremento definito. |
SeekForwardButton |
Un pulsante per andare avanti di un incremento definito. |
NextButton |
Un pulsante per passare all'elemento multimediale successivo. |
PreviousButton |
Un pulsante per passare all'elemento multimediale precedente. |
RepeatButton |
Un pulsante per scorrere le modalità di ripetizione. |
ShuffleButton |
Un pulsante per attivare/disattivare la modalità shuffle. |
MuteButton |
Un pulsante per disattivare e riattivare l'audio del player. |
PositionAndDurationText |
Un elemento componibile di testo che mostra la posizione corrente e la durata totale. |
PositionText |
Un elemento componibile di testo che mostra la posizione corrente. |
DurationText |
Un elemento componibile di testo che mostra la durata totale. |
RemainingDurationText |
Un elemento componibile di testo che mostra la durata rimanente. |
ProgressSlider |
Un cursore che mostra l'avanzamento della riproduzione e consente all'utente di cercare. |
Questo non è un elenco esaustivo. Per tutti i componenti disponibili, consulta il riferimento API della libreria.
Altri due elementi componibili predefiniti di cui probabilmente avrai bisogno sono correlati alla gestione della superficie e si trovano nel modulo media3-ui-compose perché non hanno temi Material.
| Componente | Descrizione |
|---|---|
ContentFrame |
Una superficie per la visualizzazione di contenuti multimediali che gestisce le proporzioni, il ridimensionamento e un otturatore |
PlayerSurface |
Superficie non elaborata che racchiude SurfaceView e TextureView in AndroidView |