Referans uygulamasını özelleştirme

Bu bölümde, Kontrol Merkezi referans uygulamasını ve kullanıcı arayüzünü nasıl özelleştirebileceğiniz ayrıntılı olarak açıklanmaktadır.

Kullanıcı işlemleri akışları ve kullanıcı arayüzü

Bu bölümde, kullanıcı akışları ve Kontrol Merkezi'nin nasıl başlatılacağı açıklanmaktadır.

Kontrol Merkezi'ni başlatma

Kontrol Merkezi'ni Uygulama Başlatıcı veya Sistem kullanıcı arayüzü gezinme çubuğundaki bir simge aracılığıyla başlatabilirsiniz. Simge yalnızca arka planı görünür kullanıcıların etkinleştirildiği derlemelerde görünür (daha fazla bilgi için UserHandleAware başlıklı makaleyi inceleyin).

Kontrol Merkezi'ni istediğiniz zaman görüntüleyebilirsiniz. Denetim Merkezi, yarı saydam pencereler ve şeffaf arka planların birleşiminden oluşur. Bu nedenle, etkin olarak oynatılan videolar ve medya dahil olmak üzere diğer tüm uygulamaların üzerinde görünebilir. Uygulamanın açılış sayfasında:

  • Ekran düzeni ve yerel ile uzak ekranların kullanımı.
  • Medya ve medya kontrolleriyle doldurulmuş ekranlar.
  • Her ekranda medya (ve daha fazla) kontrolüyle ilgili ayrıntılı bir görünüm sunulur.

Ekranların düzeni, araçtaki ekranların yerleşimini gösterir. Her ekran bir DevicePickerScreen. Her ekranın konumunu ve boyutunu özelleştirmek için çalışma zamanı kaynak yerleşimi (RRO) kullanın. Daha fazla bilgi edinmek için Çalışma zamanında bir uygulamanın kaynaklarının değerini değiştirme başlıklı makaleyi inceleyin.

Denetim Merkezi'nin açık olduğu her ekranda, parlak vurgulanmış bir kenarlığa sahip farklı bir ekran gösterilir. Bu, yerel ekran, yani kullanılan ekrandır.

Diğer her ekran, Fragment'taki ekranların düzenine göre tanımlayabileceğiniz, arabadaki farklı bir ekranı temsil eden bir uzak ekrandır. Araçta yapılandırılan toplam yolcu bölgesi sayısını hesaplamak için CarOccupantZoneManager#getAllOccupantZones işlevini kullanın.

Her ekran, verileri ilgili işgal bölgesiyle ilişkilendirmek için controlcenter:occupantZoneId özel özelliğini tanımlar. Bir medya uygulaması belirli bir ekranda oynatıldığında, ilgili ekranda medya albüm kapağı gösterilir. Ekranın altında Oynat (veya Duraklat) düğmesi gösterilir.

Etkin medya uygulaması görünür bir görevse (Denetim Merkezi'nin arkasında açılmışsa) Yansıtma sayfasını açmak için Oynat düğmesinin yanındaki Paylaş düğmesi etkinleştirilir. Paylaş özelliği, medya uygulaması ekranını paylaşmanıza olanak tanır ve en çok video içeren medya uygulamalarında kullanışlıdır.

Ekran öğeleri

Ekrana dokunduğunuzda ekranda oynatılan medyanın ayrıntılı görünümü gösterilir. Buna Ayrıntılar ekranı denir. Görünümde başlık, oynatma ilerleme durumu ve sanatçı gibi medya meta verileri gösterilir. Bu düğmeler, yolcu bölgesi üzerinde ek kontrol sağlar.

  • Ses Çıkışı, medyayı hangi ses çıkışının oynattığını gösterir (ör. kabin hoparlörleri veya kulaklıklar). Ses Çıkışı, ses çıkışını ve medya ses düzeyini değiştirmek için bir iletişim kutusu açar.

  • Display Input Lock (Giriş Kilidini Görüntüleme), girişi ekrana kilitler. Bu işlem sürücü ekranına uygulanamaz.

  • Ekran Gücü, ekranın gücünü kapatır. Bu işlem sürücü ekranına uygulanamaz.

Ayrıntılar görünümünde, medya Denetim Merkezi uygulamasının arkasında görünür bir görev olduğunda dokunulacak bir Paylaş düğmesi gösterilir. Paylaş düğmesi, Yansıtma sayfasını açar:

Gönderen (üstte) ve alıcı (altta) arasındaki yansıtma ve birlikte izleme yolculuğu
Şekil 2. Gönderen (üst) ve alıcı (alt) arasında yansıtma sayfası ve birlikte izleme yolculuğu.

Birlikte izleme oturumu başlatma

Yansıtma sayfası, RRO kullanarak Açılış sayfası'na benzer.

Birlikte izleme için ekran eklemek üzere ekrana ve ardından Bitti'ye dokunun.

Bu işlem, paylaşılan uygulamanın bulunduğu bir Mirroring Activity açar ve ortak izleme oturumundan ayrılmak veya katılımcı eklemek ya da kaldırmak için yansıtma sayfasına yeniden girmek üzere geçici kontroller sağlar.

Birlikte izleme oturumunu yönetmek için kayan kontrollerle paylaşılan bir uygulamayı gösteren yansıtma etkinliği.
Şekil 3. Geçici kayan kontrollerle yansıtma etkinliği.

Özet

Kontrol Merkezi'ndeki farklı sayfalar burada özetlenmiştir.

Kontrol Merkezi uygulamasındaki farklı sayfaları ve geçişleri gösteren akış şeması.
Şekil 4. Kontrol Merkezi sayfaları.

Özelleştirme yönergeleri

Kontrol Merkezi, özelleştirme yapmanıza olanak tanımak için Car UI kitaplığını kullanır ve olduğu gibi benimsenebilecek veya bu kısıtlamalara göre değiştirilebilecek temel bir tema ve yapı sağlar.

Özelleştirme Açıklama
SHOULD

Genel temayı ve stili bir RRO aracılığıyla ayarlayın. Örneğin:

  • Renk paleti
  • Boyutlandırma
  • Metin görünümü
  • İletişim kutusunun görünümü
  • Çekilebilir öğeler
  • Yapılandırma değerleri
MAY Kontrol Merkezi'nin üst düzey kullanıcı arayüzü yapısını değiştirme.

Kontrol Merkezi, sistem uygulamaları paketine aittir. Bu pakette Medya, Bildirim Merkezi ve Uygulama Başlatıcı bulunur. Bu uygulamalar, AOSP yapısının farklı düzeylerinde tanımlanan stilleri ve öğeleri paylaşır:

framework/base/core
Tüm Android temel stilleri burada tanımlanır. Daha net bir ifadeyle, tüm sistem uygulaması temaları, cihazın varsayılan görünümünü özelleştirmek için OEM'ler tarafından kullanılmak üzere tasarlanan tema olan Theme.DeviceDefault'ya dayanır.

packages/services/Car/car_product/overlay:
Bu klasör, Android Automotive'in AOSP görünümünü ve tarzını oluşturmak için kullanılan Theme.DeviceDefault geçersiz kılmalarını içerir. OEM'ler bu yer paylaşımını hariç tutmayı ve kendi yer paylaşımını kullanmayı tercih edebilir.

packages/apps/Car/libs/car-ui-lib:
Bu kitaplık, AAOS bileşenlerini ve sistem uygulamaları ile özelleştirme için tasarlanmış paketlenmemiş uygulamalarda ortak olan kaynakları tanımlar. Ayrıntılı bilgi için Car UI Library Integration Guide (Araba Kullanıcı Arayüzü Kitaplığı Entegrasyon Kılavuzu) başlıklı makaleyi inceleyin.

packages/apps/Car/libs/car-apps-common:
AOSP tarafından sağlanan sistem uygulamaları arasında paylaşılan ortak renkler ve stiller. Bu öğeleri özelleştirmek için kaplamaları kullanabilirsiniz (packages/services/Car/car_product/overlay'ya benzer şekilde).

packages/apps/Car/MultiDisplay/ControlCenter:
Tüm sistem uygulamalarının Theme.CarUi'den türetilen ve car-ui-lib'de tanımlanan bir teması vardır. ControlCenterActivity, Theme.CarUi'ı genişleten özel Theme.Transparent kullanır.

Kontrol Merkezi, bir akışı desteklemek için (ör. yansıtılan görevin görünür olmasını gerektiren birlikte izleme) uygulamayı arka plana göndermeyen veya Lifecycle events göndermeyen yarı saydam pencereler ve şeffaf arka planlar kullanır.

<style name="Theme.Transparent" parent="@style/Theme.CarUi.NoToolbar">
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowBackground">@color/transparent</item>
</style>