תחילת העבודה עם ממשק משתמש שמבוסס על Compose

הוספת התלות

ספריית Media3 כוללת שני מודולים של ממשק משתמש שמבוססים על Jetpack פיתוח נייטיב. לא צריך להוסיף את שניהם כי Material3 תלוי ב-core.

Kotlin

// Include only one of the following dependencies
implementation("androidx.media3:media3-ui-compose:1.10.0")
implementation("androidx.media3:media3-ui-compose-material3:1.10.0")

Groovy

// Include only one of the following dependencies
implementation "androidx.media3:media3-ui-compose:1.10.0"
implementation "androidx.media3:media3-ui-compose-material3:1.10.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, כולל ה-Composable‏ Player, שמציע חוויית הפעלה מקיפה של מדיה עם סרטון, אמצעי בקרה וסרגל התקדמות. כך לא תצטרכו ליצור כפתורים ורכיבים אחרים בממשק המשתמש מאפס. עדיין אפשר להתאים אישית את העיצוב, הצבעים והסמלים של הרכיבים האלה, אבל ההטמעה הבסיסית מסופקת לכם.

בקצרה

תכונה media3-ui-compose media3-ui-compose-material3
רכיבי ממשק משתמש רכיבים בסיסיים כמו PlayerSurface ו-ContentFrame, אבל לא לחצנים או אמצעי בקרה עם סגנון מוגדר מראש. מספק את הרכיב הקומפוזבילי Player וסט מלא של רכיבים קומפוזביליים מוכנים מראש בסגנון Material3, כמו PlayPauseButton,‏ SeekBackButton,‏ PositionAndDurationText וכו'.
State Management התפקיד הזה מאפשר לבעלי remember...State לנהל את הלוגיקה. המצב מנוהל באופן פנימי, אבל עדיין אפשר לגשת לבעלי המצב אם צריך.
תלות androidx.compose.foundation media3-ui-compose, androidx.compose.material3 com.google.android.material
תרחיש ראשי לדוגמה יצירת ממשק משתמש של נגן עם מערכת עיצוב מותאמת אישית. שליטה מלאה במראה ובתחושה. לבנות במהירות ממשק משתמש של נגן בהתאם להנחיות של Material Design 3.