La biblioteca media3-ui-compose-material3 controla internamente la administración del estado y el diseño de Material 3. Para obtener más información sobre qué biblioteca usar, consulta la descripción general de 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) } }
Personaliza los componentes de Material 3
Si bien media3-ui-compose-material3 proporciona componentes que siguen el diseño de Material 3, aún tienes control total sobre la aplicación de temas. Puedes personalizar los colores, la tipografía y las formas envolviendo la IU del reproductor en un MaterialTheme.
Por ejemplo, para cambiar el color de PlayPauseButton, puedes proporcionar un 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 de Material 3 disponibles
La biblioteca de media3-ui-compose-material3 proporciona un conjunto de elementos componibles prediseñados para los controles comunes del reproductor. Estos son algunos de los componentes que puedes usar directamente en tu app:
| Componente | Descripción |
|---|---|
PlayPauseButton |
Botón que alterna entre reproducir y pausar. |
SeekBackButton |
Botón para retroceder en un incremento definido. |
SeekForwardButton |
Botón para avanzar en un incremento definido. |
NextButton |
Botón para buscar el elemento multimedia siguiente. |
PreviousButton |
Botón para buscar el elemento multimedia anterior. |
RepeatButton |
Botón para cambiar de un modo de repetición a otro. |
ShuffleButton |
Botón para activar o desactivar el modo aleatorio. |
MuteButton |
Botón para silenciar y activar el sonido del reproductor. |
PositionAndDurationText |
Elemento componible de texto que muestra la posición actual y la duración total. |
PositionText |
Elemento componible de texto que muestra la posición actual. |
DurationText |
Elemento componible de texto que muestra la duración total. |
RemainingDurationText |
Elemento componible de texto que muestra la duración restante. |
ProgressSlider |
Un control deslizante que muestra el progreso de la reproducción y permite que el usuario busque un punto específico. |
Esta no es una lista exhaustiva. Consulta la referencia de la API de la biblioteca para ver todos los componentes disponibles.
Otros dos elementos precompilados que probablemente necesites están relacionados con la administración de plataformas y se encuentran en el módulo media3-ui-compose porque no poseen temas de Material.
| Componente | Descripción |
|---|---|
ContentFrame |
Plataforma para mostrar contenido multimedia que controla la administración de la relación de aspecto, el cambio de tamaño y un obturador |
PlayerSurface |
Plataforma sin procesar que une SurfaceView y TextureView en AndroidView |