media3-ui-compose-material3 程式庫會在內部處理狀態管理和 Material 3 樣式。如要進一步瞭解該使用哪個程式庫,請參閱 Media3 Compose 總覽。
// The library provides styled UI components Row { SeekBackButton(player) PlayPauseButton(player) SeekForwardButton(player) }
自訂 Material3 元件
media3-ui-compose-material3 提供遵循 Material 3 設計的元件,但您仍可完整控管主題設定。如要自訂顏色、字體和形狀,請將播放器 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) }
可用的 Material 3 元件
media3-ui-compose-material3 程式庫提供一組預先建構的可組合函式,可用於常見的播放器控制項。以下是您可以在應用程式中直接使用的部分元件:
| 元件 | 說明 |
|---|---|
PlayPauseButton |
可切換播放和暫停的按鈕。 |
SeekBackButton |
按鈕:以定義的增量倒轉。 |
SeekForwardButton |
按鈕:可依定義的增量快轉。 |
NextButton |
跳轉至下一個媒體項目的按鈕。 |
PreviousButton |
跳轉至上一個媒體項目的按鈕。 |
RepeatButton |
切換重複模式的按鈕。 |
ShuffleButton |
切換隨機模式的按鈕。 |
MuteButton |
可將播放器設為靜音或取消靜音的按鈕。 |
PositionAndDurationText |
顯示目前位置和總時長的文字可組合函式。 |
PositionText |
顯示目前位置的文字可組合函式。 |
DurationText |
顯示總時長的文字可組合函式。 |
RemainingDurationText |
顯示剩餘時間的文字可組合函式。 |
這份清單未列出所有合作夥伴,如要查看所有可用元件,請參閱程式庫的 API 參考資料。
您可能還需要另外兩個預先建構的 Composables,這兩個 Composables 與介面管理相關,且位於 media3-ui-compose 模組中,因為它們沒有 Material 主題。
| 元件 | 說明 |
|---|---|
ContentFrame |
用於顯示媒體內容的介面,可處理顯示比例管理、大小調整和快門 |
PlayerSurface |
包裝 AndroidView 中的 SurfaceView 和 TextureView 的原始介面 |