‫Material3 Compose

ספריית media3-ui-compose-material3 מספקת את הקומפוזיציה Player שמציגה את כפתורי הנגן, את סרגל ההתקדמות ואת תוכן המדיה הנוכחי. הוא מטפל בניהול המצב ובסגנון 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 מספקת קבוצה של רכיבי Composable מוכנים מראש עבור כפתורי הנגן הנפוצים. אלה כמה מהרכיבים שבהם אפשר להשתמש ישירות באפליקציה:

רכיב תיאור
Player נגן עם אמצעי בקרה, סרגל התקדמות ומסגרת תוכן.
PlayPauseButton כפתור שמאפשר לעבור בין הפעלה להשהיה.
SeekBackButton כפתור להרצה אחורה במרווח מוגדר.
SeekForwardButton כפתור להרצה קדימה בפרק זמן מוגדר.
NextButton כפתור לדילוג לפריט המדיה הבא.
PreviousButton כפתור לדילוג לפריט המדיה הקודם.
RepeatButton כפתור למעבר בין מצבי חזרה.
ShuffleButton כפתור להחלפת מצב הפעלה אקראית.
MuteButton כפתור להשתקה ולביטול ההשתקה של הנגן.
PositionAndDurationText רכיב טקסט שאפשר להרכיב ממנו, שמציג את המיקום הנוכחי ואת משך הזמן הכולל.
PositionText רכיב Text composable שמציג את המיקום הנוכחי.
DurationText רכיב קומפוזבילי של טקסט שמציג את משך הזמן הכולל.
RemainingDurationText רכיב קומפוזבילי של טקסט שמציג את משך הזמן שנותר.
ProgressSlider פס הזזה שבו מוצגת התקדמות ההפעלה ומאפשר למשתמש להעביר קדימה או אחורה.

זוהי רשימה חלקית בלבד. כל הרכיבים הזמינים מפורטים בהפניית ה-API של הספרייה.

שני רכיבי Composables נוספים שסביר להניח שתצטרכו קשורים לניהול המשטח והם נמצאים במודול media3-ui-compose כי הם לא כוללים עיצוב Material.

רכיב תיאור
ContentFrame פלטפורמה להצגת תוכן מדיה שמטפלת בניהול יחס הגובה-רוחב, בשינוי גודל ובתריס
PlayerSurface ממשק גולמי שעוטף את SurfaceView ואת TextureView ב-AndroidView