Библиотека media3-ui-compose-material3 обрабатывает как управление состоянием, так и стилизацию Material3 внутри себя. Для получения дополнительной информации о том, какую библиотеку использовать, см. обзор Media3 Compose .
// The library provides styled UI components Row { SeekBackButton(player) PlayPauseButton(player) SeekForwardButton(player) }
Настройка компонентов Material3
Хотя media3-ui-compose-material3 предоставляет компоненты, соответствующие дизайну Material3, у вас по-прежнему есть полный контроль над оформлением. Вы можете настраивать цвета, типографику и формы, обернув пользовательский интерфейс плеера в MaterialTheme .
Например, чтобы изменить цвет PlayPauseButton , вы можете указать пользовательскую 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) }
Доступные материалы3 Компоненты
Библиотека media3-ui-compose-material3 предоставляет набор готовых компонентов для распространенных элементов управления проигрывателем. Вот некоторые из компонентов, которые вы можете использовать непосредственно в своем приложении:
| Компонент | Описание |
|---|---|
PlayPauseButton | Кнопка, переключающая режимы воспроизведения и паузы. |
SeekBackButton | Кнопка для перемотки назад на заданный шаг. |
SeekForwardButton | Кнопка для перемотки вперед на заданный шаг. |
NextButton | Кнопка для перехода к следующему медиафайлу. |
PreviousButton | Кнопка для перехода к предыдущему медиафайлу. |
RepeatButton | Кнопка для переключения между режимами повтора. |
ShuffleButton | Кнопка для переключения режима случайного воспроизведения. |
MuteButton | Кнопка для включения и выключения звука плеера. |
PositionAndDurationText | Текстовый элемент, отображающий текущую позицию и общую продолжительность. |
PositionText | Текстовый элемент, отображающий текущую позицию. |
DurationText | Текстовый элемент, отображающий общую продолжительность. |
RemainingDurationText | Текстовый элемент, отображающий оставшееся время. |
Это не исчерпывающий список. Для получения информации обо всех доступных компонентах обратитесь к справочнику API библиотеки.
Два других предварительно созданных компонента Composable, которые вам, вероятно, понадобятся, связаны с управлением поверхностью и находятся в модуле media3-ui-compose поскольку в них отсутствует поддержка тем Material Design.
| Компонент | Описание |
|---|---|
ContentFrame | Поверхность для отображения медиаконтента, которая управляет соотношением сторон, изменением размера и имеет затвор. |
PlayerSurface | Сырая поверхность, которая оборачивает SurfaceView и TextureView в AndroidView |