‫Material3 Compose

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

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

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

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

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