Bağımlılığı ekleme
Media3 kitaplığı, Jetpack Compose tabanlı iki kullanıcı arayüzü modülü içerir. Material3 teması, temel temaya bağlı olduğundan ikisini de eklemeniz gerekmez.
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"
Uygulamanızı Compose'u öncelikli tutarak geliştirmenizi veya View'ları kullanmaktan vazgeçmenizi önemle tavsiye ederiz.
Tamamen Compose ile geliştirilmiş demo uygulaması
media3-ui-compose kitaplığı, kullanıma hazır Composables'lar (ör. düğmeler, göstergeler, resimler veya iletişim kutuları) içermese de PlayerView öğesini AndroidView içine sarmalama gibi birlikte çalışabilirlik çözümlerinden kaçınan, tamamen Compose ile yazılmış bir demo uygulaması bulabilirsiniz. Demo uygulaması, media3-ui-compose modülündeki kullanıcı arayüzü durumu tutucu sınıflarını kullanır ve Compose Material3 kitaplığından yararlanır.
Hangi kitaplığa ihtiyacım var?
Gereken özelleştirme düzeyine bağlı olarak iki Media3 Compose kitaplığı arasından seçim yapabilirsiniz. Farkı anlamak için kullanıcı arayüzü durum üretimi işlem hattını düşünmek faydalı olur: Business logic → UI logic → UI.
Kullanıcı arayüzü bileşenleriniz üzerinde tam kontrol için media3-ui-compose kullanın.
Bu kitaplık, Business logic → UI logic bağlantısını sağlar. PlayerSurface ve ContentFrame gibi temel bileşenlerin yanı sıra durum tutucu sınıflar (ör. PlayPauseButtonState) Player
durumunu kullanıcı arayüzü durumuna dönüştürür.
Bu kitaplık, kullanıma hazır Material Design bileşenleri sağlamaz. Kendi kullanıcı arayüzü bileşenlerinizi oluşturmak ve bunları stilize etmek sizin sorumluluğunuzdadır. Görünüm ve tarz üzerinde maksimum kontrol sağlar. Bu nedenle, son derece özelleştirilmiş bir tasarım sisteminiz varsa idealdir.
Material Design ile daha hızlı entegrasyon için media3-ui-compose-material3 kullanın.
Bu kitaplık, işlem hattının son UI bölümünü sağlar. media3-ui-compose'a bağlıdır ve Material 3 bileşenleriyle stilize edilmiş, önceden oluşturulmuş Composable işlevlerini içerir. Bu sayede kendi düğmelerinizi ve diğer kullanıcı arayüzü öğelerinizi sıfırdan oluşturmanız gerekmez. Bu bileşenlerin temasını, renklerini ve simgelerini özelleştirmeye devam edebilirsiniz ancak temel uygulama sizin için sağlanır.
Bir bakışta
| Özellik | media3-ui-compose |
media3-ui-compose-material3 |
|---|---|---|
| Kullanıcı Arayüzü Bileşenleri | PlayerSurface ve ContentFrame gibi temel öğeler, ancak önceden stillendirilmiş düğmeler veya kontroller yok. |
PlayPauseButton, SeekBackButton, PositionAndDurationText gibi Material3 tarzında önceden oluşturulmuş Composables öğelerinden oluşan eksiksiz bir set sunar. |
| Durum Yönetimi | remember...State sahiplerinin mantığı yönetmesini sağlar. |
Durumu dahili olarak yönetir ancak gerekirse durum tutuculara erişebilirsiniz. |
| Bağımlılıklar | androidx.compose.foundation |
media3-ui-compose, androidx.compose.material3, com.google.android.material |
| Birincil Kullanım Alanı | Özel tasarım sistemine sahip bir oynatıcı kullanıcı arayüzü oluşturma. Görünüm ve tarz üzerinde tam kontrol | Materyal Tasarım 3 yönergelerine uygun bir oynatıcı kullanıcı arayüzünü hızlıca oluşturma |