Medya, bir sistem uygulamaları paketine aittir (örneğin, Çevirici ve Uygulama Başlatıcı). Bu uygulamalar, AOSP yapısında farklı düzeylerde tanımlanan ortak stilleri ve varlıkları paylaşır.
-
framework/base
. Tüm Android temel stilleri burada tanımlanır. -
packages/services/Car/car_product/overlay
. Android Automotive OS'nin AOSP görünümünü ve hissini oluşturmak için standart çerçeveyi/temel kaynakları değiştiren derleme zamanı katmanlarını içerir. OEM'ler bu kaplamayı hariç tutmayı ve kendilerininkini kullanmayı tercih edebilir. -
packages/apps/Car/libs/car-ui-lib
. Bu kitaplık, sistem uygulamaları ve özelleştirme için tasarlanmış paketlenmemiş uygulamalar için ortak olan AAOS bileşenlerini ve kaynaklarını tanımlar. Ayrıntılar için Araç Kullanıcı Arayüzü Kitaplığı Entegrasyon Kılavuzu'na bakın. -
packages/apps/Car/libs/car_app_common
. Otomotiv sistemi uygulamaları arasında paylaşılan ortak renkler ve stiller. OEM'ler bu öğeleri özelleştirmek için katmanları kullanabilir (yukarıda açıklanancar_product/overlay
benzer). -
packages/apps/Car/libs/car_media_common
. Medya ve diğer medya kullanıcı arayüzleri arasında paylaşılan öğeleri içerir. Örneğin, Ana ekran Medya widget'ı. packages/apps/Car/Media.
Tüm sistem uygulamaları,car-ui-lib
tanımlandığı gibiTheme.CarUi
başlayan kendi temalarını kullanır.
Android Automotive AOSP iki medya sunumu sağlar.
- Medya kullanıcı arayüzü. Kullanıcıların oturum açmasına, içeriğe göz atmasına ve ayrıntılı oynatma kontrollerini kullanmasına olanak tanır.
- Ana ekran medya widget'ı. Temel medya oynatma kontrol özelliklerinin Ana ekranda kullanılmasını sağlar.
Medya kullanıcı arayüzü
Bu şekilde Medya Kullanıcı Arayüzü'nün yapısı açıklanmaktadır:
Şekil 1. Medya kullanıcı arayüzü.
UX ve UI yönergelerinin yanı sıra Medyanın farklı bileşenlerinin mekansal yapısına ilişkin ayrıntılar için bkz . Mekansal model .
AppBarView: Araç Çubuğu
Medya Kullanıcı Arayüzü araç çubuğu, Çevirici ve Radyo gibi diğer sistem uygulamalarıyla paylaşılan bir bileşendir. Araç çubuğunun nasıl özelleştirileceğini öğrenmek için Araç Kullanıcı Arayüzü Kitaplığı Entegrasyon Kılavuzu'na bakın.
Medya maksimum resim boyutu
Medya uygulamalarına getirilecek resmin maksimum boyutunu bildirmek için sisteminizemedia_items_bitmap_max_size_px
yerleştirebilirsiniz. Bunu yapmak için kök ipucu olarak EXTRA_MEDIA_ART_SIZE_HINT_PIXELS
gönderin. Sonuç olarak, görselleri indirirken bant genişliğinden tasarruf edeceksiniz. Daha fazla bilgi edinmek için geliştirici.android.com adresindeki MediaConstants'a bakın.Parçaya göz at
Gözat, öncelikle kaydırma çubuğu konumunu, okları ve kenar boşluklarını yöneten ve başlıklar, ızgara öğeleri, simge ızgara öğeleri, liste öğeleri ve simge listesi öğeleri gibi farklı türdeki öğelere göz atabilen bir Car UI RecyclerView'dan oluşur.
Küçültülmüş oynatma kontrolleri
Göz atma parçası görüntülenirken ve bir medya öğesi seçildiğinde simge durumuna küçültülmüş bir oynatma kontrolleri görünümü görüntülenir. Aşağıdaki şekil bu görünümün yapısını göstermektedir:
Şekil 2. Küçültülmüş oynatma kontrolleri.
Listeye göz at
Geliştiriciler, medyaya göz atma içeriğinin sunumunu özelleştirmek için bir dizi stil ipucunu kullanabilir (bkz. İçerik Stillerini Uygulama ). OEM'ler, sunumu kendi tasarım sistemlerine göre ayarlayarak bu tarzlara bağlı kalmalıdır.
Desteklenen öğe türleri ve ilgili düzenler aşağıdaki şekilde bulunur:
-
LIST_ITEM
(media_browse_list_item.xml
). Genellikle bir podcast'teki çalma listesi öğeleri ve favoriler gibi bölümler için kullanılır. -
ICON_LIST_ITEM
(media_browse_list_icons_item.xml
). Medya öğesiyle birlikte verilen görselin gerçek albüm kapağı değil, bir simge olduğu kategoriler veya menü seçenekleri için kullanılır. -
GRID_ITEM
(media_browse_grid_item.xml
). Genellikle şarkılar veya çalma listeleri gibi çalınabilir öğeler için kullanılır. -
ICON_GRID_ITEM
(media_browse_grid_icons_item.xml
).ICON_LIST_ITEM
benzer kategoriler için kullanılır. -
HEADER
(media_browse_header_item.xml
). Medya öğelerini bölümler halinde düzenlemek için kullanılır.
Oynatma ekranı
Bu ekranı görüntülemek için simge durumuna küçültülmüş oynatma kontrollerini genişletin:
- Şu anda medya öğesi meta verileri oynatılıyor (başlık ve alt başlık dahil).
- Oynatma kontrollerini tamamlayın.
- Oynatma sırası (en son oynatılan veya oynatılacak sonraki öğeleri görüntülemek için kullanılır).
Oynatma ekranının bileşenleri aşağıdaki şekillerde tanımlanmaktadır.
Şekil 3. Oynatma ekranı.
Oynatma ekranı araç çubuğunu uygulamanın geri kalanıyla paylaşmaz. Bunun yerine bu ekran, ekranın üst kısmındaki öğeleri ayrı ayrı yönetir.
Ses biçimlendirme ilişkilendirmesi
Uygulamalar, o anda oynatılan medya öğesinin ekstralarında KEY_CONTENT_FORMAT_TINTABLE_LARGE_ICON_URI
veya KEY_CONTENT_FORMAT_TINTABLE_SMALL_ICON_URI
ayarını yaptığında. OEM'ler, URI tarafından belirtildiği gibi uygun vektörü çizilebilir hale getirmelidir.
Ana oynatma görünümünde İçerik Formatı simgesinin büyük versiyonu kullanılmalıdır. Daha küçük bir oynatma çubuğu gibi ikincil görünümlerde, OEM'ler İçerik Formatı simgesinin daha küçük sürümünü kullanabilir. ContentFormatView
logoSize
niteliğine göre en uygun simgeyi oluşturur.
Oynatma bağlantıları
UygulamalarKEY_SUBTITLE_LINK_MEDIA_ID
veya KEY_DESCRIPTION_LINK_MEDIA_ID
ayarladığında, OEM'lerin altyazıyı veya açıklamayı dokunulabileceğini düşündürecek şekilde oluşturması ve ardından bir kullanıcı dokunuşu üzerine bağlantılı medya öğesini göstermek için Gözat görünümünü açması gerekir.Oynatma kontrolleri
Oynatma ekranı, kontrol satırları halinde düzenlenmiş, genişletilmiş bir oynatma kontrolleri seti içerir. İkincil satır (aşağıda üstteki satır olarak gösterilmektedir) yalnızca ilk satırdaki alan medya uygulamasının PlaybackStateCompat#getActions()
işlevinden döndürdüğü tüm eylemleri görüntülemek için yeterli değilse görüntülenir.
Şekil 4. Oynatma kontrolleri.
OEM'ler standart eylemlerin simgelerini özelleştirebilir ancak medya uygulamaları tarafından sağlanan özel eylem simgelerini sunmaları gerekir.
Ana ekran medya widget'ı
Bu widget car-media-common
bir parça olarak uygulanır. Bu parça yukarıda açıklanan Oynatma ekranının küçültülmüş bir versiyonunu içerir. Aynı özelleştirme kuralları ve yeteneklerinin tümü geçerlidir.
Şekil 5. Ana ekran medya widget'ı.
Yukarıda görüntülenen Uygulama Seçici düğmesi, Medya Kaynağını Değiştirme Kullanıcı Akışı bölümünde açıklanan geçiş işlevini kullanır.
Uygulama Seçici düğmesi için mevcut Medya Kaynağı simgesini kullanmak için, platform/packages/apps/Car/libs/car-media-common/res/values/bools.xml
dosyasında tanımlanan use_media_source_logo_for_app_selector
bayrağını üzerine yerleştirin ve true
olarak ayarlayın. Bu değişiklikle birlikte uygulama araç çubuğunun karşı tarafındaki Medya Kaynağı simgesi gizlenecek. Özelleştirme aynı zamanda Media Center uygulaması ve referans Radyo uygulaması için de geçerlidir.
Şekil 6. Medya Uygulama Seçimi düğmesi.
Oynat, Duraklat ve Durdur düğmesi düzeni
Oynat/Duraklat/Durdur düğmesi düzeni "Şimdi yürütülüyor" ve simge durumuna küçültülmüş oynatma kontrolleri görünümü için özelleştirilebilir. Her iki düzen packages/apps/Car/libs/car-media-common/res/layout/
tanımlanmıştır.
Düğme düzenlerini özelleştirmek için play_pause_stop_button_layout.xml
ve minimized_play_pause_stop_button_layout.xml
dosyalarına oluşturma zamanı katmanları uygulayın.
Yürütme kuyruğundaki geçerli öğeyi vurgula
Geçerli oynatma kuyruğu öğesinin durumu selected
olarak ayarlanmıştır, böylece renk durumu listeleri (bkz . Renk durumu listesi kaynağı ) ve durum listesi çizilebilirleri (bkz. Çizilebilir kaynaklar ) gibi durum kaynakları kullanılarak özelleştirilebilir. Gerekli stil değişikliklerini uygulamak için kuyruk öğesi düzeni package/apps/Car/Media/res/layout/queue_list_item.xml veya ayrı bir öğe düzenini geçersiz kılabilirsiniz.
Geçerli oynatma sırası öğesinin yanında bir simge de gösterebilirsiniz:
- package/apps/Car/Media/res/layout/queue_list_item.xml dosyasında tanımlanan
show_icon_for_now_playing_queue_list_item
Boole bayrağını veya ayrı bir öğeyi kaplayınOynatma zamanlayıcısını gizlemek için
show_time_for_now_playing_queue_list_item
değerinifalse
olarak ayarlayın. - Öğe kök görünümünün ön planı veya arka planı gibi çizilebilir bir durum kullanın (bkz. paketler/apps/Car/Media/res/layout/queue_list_item.xml veya öğenin görünüm hiyerarşisinde ayrı bir görünüm).
Şekil 7. Oynatma kuyruğunda vurgulanan geçerli öğe.