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 디자인을 따르는 구성요소를 제공하지만 테마 설정은 완전히 제어할 수 있습니다. 플레이어 UI를 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) }
사용 가능한 Material3 구성요소
media3-ui-compose-material3 라이브러리는 일반적인 플레이어 컨트롤을 위한 사전 빌드된 컴포저블 세트를 제공합니다. 앱에서 직접 사용할 수 있는 구성요소는 다음과 같습니다.
| 구성요소 | 설명 |
|---|---|
PlayPauseButton |
재생과 일시중지 간에 전환하는 버튼 |
SeekBackButton |
정의된 증분만큼 뒤로 탐색하는 버튼 |
SeekForwardButton |
정의된 증분만큼 앞으로 탐색하는 버튼 |
NextButton |
다음 미디어 항목으로 탐색하는 버튼 |
PreviousButton |
이전 미디어 항목으로 탐색하는 버튼 |
RepeatButton |
반복 모드를 순환하는 버튼 |
ShuffleButton |
셔플 모드를 전환하는 버튼 |
MuteButton |
플레이어를 음소거 및 음소거 해제하는 버튼 |
PositionAndDurationText |
현재 위치와 총 재생 시간을 표시하는 텍스트 컴포저블 |
PositionText |
현재 위치를 표시하는 텍스트 컴포저블 |
DurationText |
총 재생 시간을 표시하는 텍스트 컴포저블 |
RemainingDurationText |
남은 시간을 표시하는 텍스트 컴포저블 |
이 목록은 일부에 불과합니다. 사용 가능한 모든 구성요소는 라이브러리의 API 참조를 참고하세요.
필요할 가능성이 높은 다른 사전 빌드된 컴포저블 두 개는 서피스 관리와 관련이 있으며 Material 테마가 없으므로 media3-ui-compose 모듈에 있습니다.
| 구성요소 | 설명 |
|---|---|
ContentFrame |
가로세로 비율 관리, 크기 조절, 셔터를 처리하는 미디어 콘텐츠 표시용 표면 |
PlayerSurface |
AndroidView에서 SurfaceView 및 TextureView을 래핑하는 원시 표면 |