A biblioteca media3-ui-compose-material3 processa internamente o gerenciamento de estado e
a estilização do Material3. Para mais informações sobre qual biblioteca usar,
consulte a visão geral do Media3 Compose.
// The library provides styled UI components Row { SeekBackButton(player) PlayPauseButton(player) SeekForwardButton(player) }
Personalizar os componentes do Material3
Embora o media3-ui-compose-material3 forneça componentes que seguem o Material3
Design, você ainda tem controle total sobre a criação de temas. Você pode personalizar cores, tipografia e formas envolvendo a interface do player em um MaterialTheme.
Por exemplo, para mudar a cor do PlayPauseButton, forneça um
colorScheme personalizado:
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) }
Componentes do Material 3 disponíveis
A biblioteca media3-ui-compose-material3 oferece um conjunto de elementos combináveis
pré-criados para controles comuns do player. Confira alguns componentes que podem ser usados diretamente
no seu app:
| Componente | Descrição |
|---|---|
PlayPauseButton |
Um botão que alterna entre reproduzir e pausar. |
SeekBackButton |
Um botão para voltar um incremento definido. |
SeekForwardButton |
Um botão para avançar em um incremento definido. |
NextButton |
Um botão para ir para o próximo item de mídia. |
PreviousButton |
Um botão para buscar o item de mídia anterior. |
RepeatButton |
Um botão para alternar entre os modos de repetição. |
ShuffleButton |
Um botão para ativar/desativar o modo aleatório. |
MuteButton |
Um botão para ativar e desativar o som do player. |
PositionAndDurationText |
Um elemento combinável de texto que mostra a posição atual e a duração total. |
PositionText |
Um elemento combinável de texto que mostra a posição atual. |
DurationText |
Um elemento combinável de texto que mostra a duração total. |
RemainingDurationText |
Um elemento combinável de texto que mostra a duração restante. |
Esta não é uma lista completa. Consulte a referência da API da biblioteca para todos os componentes disponíveis.
Outros dois elementos combináveis pré-criados que você provavelmente vai precisar estão relacionados ao gerenciamento de superfície e ficam no módulo media3-ui-compose porque não têm temas do Material.
| Componente | Descrição |
|---|---|
ContentFrame |
Uma superfície para mostrar conteúdo de mídia que lida com gerenciamento de proporção, redimensionamento e um obturador. |
PlayerSurface |
Superfície bruta que envolve SurfaceView e TextureView em AndroidView |