הוספת התלות
ספריית Media3 כוללת שני מודולים של ממשק משתמש שמבוססים על Jetpack Compose. לא צריך להוסיף את שניהם כי Material3 תלוי ב-core.
Kotlin
// Include only one of the following dependencies implementation("androidx.media3:media3-ui-compose:1.9.0") implementation("androidx.media3:media3-ui-compose-material3:1.9.0")
Groovy
// Include only one of the following dependencies implementation "androidx.media3:media3-ui-compose:1.9.0" implementation "androidx.media3:media3-ui-compose-material3:1.9.0"
מומלץ מאוד לפתח את האפליקציה בגישה של Compose-first או לעבור משימוש ב-Views.
אפליקציית הדגמה מלאה של Compose
ספריית media3-ui-compose לא כוללת רכיבים שאפשר להשתמש בהם ישר (Composables), כמו לחצנים, אינדיקטורים, תמונות או תיבות דו-שיח, אבל אפשר למצוא אפליקציית הדגמה שנכתבה במלואה ב-Compose בלי להשתמש בפתרונות של יכולת פעולה הדדית, כמו עטיפת PlayerView ב-AndroidView. אפליקציית ההדגמה משתמשת במחלקות של מחזיקי מצב ממשק המשתמש מהמודול media3-ui-compose, ומתבססת על הספרייה Compose Material3.
איזו ספרייה נדרשת?
בהתאם לרמת ההתאמה האישית שנדרשת לכם, אתם יכולים לבחור בין שתי ספריות Media3 Compose. כדי להבין את ההבדל, כדאי לחשוב על צינור הייצור של מצב ממשק המשתמש: Business logic → UI logic → UI.
כדי לקבל שליטה מלאה ברכיבי ממשק המשתמש, אפשר להשתמש ב-media3-ui-compose.
הספרייה הזו מספקת את החיבור Business logic → UI logic. הוא מכיל רכיבים בסיסיים כמו PlayerSurface ו-ContentFrame, וגם מחזיקי מצב (למשל, PlayPauseButtonState) שממירות מצב Player
למצב ממשק משתמש.
הספרייה הזו לא מספקת רכיבי Material Design מוכנים לשימוש. אתם אחראים ליצור רכיבי ממשק משתמש משלכם ולעצב אותם. הוא מאפשר לכם שליטה מקסימלית על המראה והתחושה, ולכן הוא אידיאלי אם יש לכם מערכת עיצוב בהתאמה אישית גבוהה.
כדאי להשתמש ב-media3-ui-compose-material3 כדי לשלב את התכונה מהר יותר עם Material Design.
הספרייה הזו מספקת את החלק UI האחרון בצינור. היא מבוססת על
media3-ui-compose וכוללת פונקציות Composable מוכנות מראש עם סגנון
של רכיבי Material3. כך לא תצטרכו ליצור כפתורים ורכיבים אחרים בממשק המשתמש מאפס. עדיין אפשר להתאים אישית את העיצוב, הצבעים והסמלים של הרכיבים האלה, אבל ההטמעה הבסיסית מסופקת לכם.
בקצרה
| תכונה | media3-ui-compose |
media3-ui-compose-material3 |
|---|---|---|
| רכיבי ממשק משתמש | רכיבים בסיסיים כמו PlayerSurface ו-ContentFrame, אבל לא לחצנים או אמצעי בקרה עם סגנון מוגדר מראש. |
מספקת קבוצה מלאה של Composables מוכנים מראש בסגנון Material3, כמו PlayPauseButton, SeekBackButton, PositionAndDurationText וכו'. |
| State Management | התפקיד הזה מאפשר לבעלי remember...State לנהל את הלוגיקה. |
המצב מנוהל באופן פנימי, אבל עדיין אפשר לגשת לבעלי המצב אם צריך. |
| תלות | androidx.compose.foundation |
media3-ui-compose, androidx.compose.material3 com.google.android.material |
| תרחיש ראשי לדוגמה | יצירת ממשק משתמש של נגן עם מערכת עיצוב בהתאמה אישית. שליטה מלאה במראה ובתחושה. | יצירה מהירה של ממשק משתמש לנגן שתואם להנחיות של Material Design 3. |