ספריית media3-ui-compose-material3 מספקת Player Composable שמציג את כפתורי הנגן, סרגל ההתקדמות ותוכן המדיה הנוכחי. הוא מטפל גם בניהול המצב וגם בעיצוב של Material3 באופן פנימי. מידע נוסף על הספרייה שבה כדאי להשתמש זמין בסקירה הכללית של 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) } }
התאמה אישית של רכיבי 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) }
רכיבי Material3 זמינים
הספרייה media3-ui-compose-material3 מספקת קבוצה של רכיבים מוגדרים מראש לכפתורי הנגן הנפוצים. הנה כמה מהרכיבים שאפשר להשתמש בהם ישירות באפליקציה:
| רכיב | תיאור |
|---|---|
Player |
נגן עם רכיבי UI להפעלה, סרגל התקדמות, כתוביות ומסגרת תוכן לסרטון או לגרפיקה. |
PlayPauseButton |
כפתור שמאפשר לעבור בין הפעלה להשהיה, ומציג את מצבי הטעינה, ההפעלה מחדש והניסיון החוזר. |
SeekBackButton |
כפתור להרצה אחורה במרווח זמן מוגדר. |
SeekForwardButton |
כפתור להרצה קדימה במרווח זמן מוגדר. |
NextButton |
כפתור לדילוג לקובץ המדיה הבא. |
PreviousButton |
כפתור לדילוג לקובץ המדיה הקודם. |
RepeatButton |
כפתור למעבר בין מצבי הפעלה חוזרת. |
ShuffleButton |
כפתור להפעלה או השבתה של מצב הפעלה אקראית. |
MuteButton |
כפתור להשתקה ולביטול ההשתקה של הנגן. |
LiveButton |
כפתור שמציין אם ההפעלה של שידור חי נמצאת בנקודת השידור החי, ומחפש את נקודת השידור החי כשלוחצים עליו. |
PositionAndDurationText |
רכיב קומפוזבילי של טקסט שמציג את המיקום הנוכחי ואת משך הזמן הכולל. |
PositionText |
רכיב קומפוזבילי של טקסט שמציג את המיקום הנוכחי. |
DurationText |
רכיב קומפוזבילי של טקסט שמציג את משך הזמן הכולל. |
RemainingDurationText |
רכיב קומפוזבילי של טקסט שמציג את משך הזמן שנותר. |
ProgressSlider |
פס הזזה שמראה את התקדמות ההפעלה ומאפשר למשתמשים לדלג קדימה או אחורה. |
BufferingIndicator |
אינדיקטור התקדמות שמוצג בזמן שהנגן מבצע אגירת נתונים. |
זו רשימה חלקית בלבד. כדי לראות את כל הרכיבים הזמינים, עיינו במאמרי העזרה של ה-API של הספרייה.
שני רכיבי Composable מובנים אחרים שסביר להניח שתצטרכו קשורים לניהול משטחים, והם נמצאים במודול media3-ui-compose כי אין להם התאמת העיצוב של Google Material Design.
| רכיב | תיאור |
|---|---|
ContentFrame |
משטח לתוכן מדיה שמטפל בניהול יחס הגובה-רוחב, בשינוי הגודל, בתריס, בגרפיקה ובמשבצת לכתוביות. |
PlayerSurface |
משטח גולמי שעוטף את SurfaceView ואת TextureView ב-AndroidView. |