Android Automotive, araçlar için özel olarak geliştirilmiş yeni bir Sistem kullanıcı arayüzü sunar. Çoğu bileşen sistem arayüzü, çerçeve hizmetleriyle sıkı sıkıya bağlıdır. Sistem Kullanıcı Arayüzü, öğesi ekranda görüntülenir. Otomotiv Sistemi Kullanıcı Arayüzü ( CarSystemUI öğe paketi), Android System UI'nın (Sistem Kullanıcı Arayüzü paketinde) bir uzantısıdır. özel olarak yeni bir modele sahip.
Sistem Kullanıcı Arayüzü nedir?
Otomotiv Sistemi Kullanıcı Arayüzüne özgü bileşenler şunları içerir:
Bileşen | Açıklama |
---|---|
Kilit ekranı kullanıcı arayüzü | Kullanıcıların kimliğinin belirli bir kullanıcı hesabıyla doğrulanmasını sağlayan ekran. |
Gezinme çubuğu | Ekranın soluna, altına veya sağına yerleştirilebilen ve farklı uygulamalarda gezinme, bildirim panelini açma/kapatma ve diğer özellikler için façeta düğmeleri içerebilir araç kontrolleri (ör. ısıtma, havalandırma ve soğutma) sağlama. Bu, Android Sistem kullanıcı arayüzünden farklıdır geri, Ana Sayfa ve uygulama yığını düğmelerini sağlayan Google Cloud Connect API'leri entegre eder. |
Durum çubuğu | Ekran boyunca konumlandırılan ve gezinme çubuğu görevi gören sistem çubuğu. İlgili içeriği oluşturmak için kullanılan
durum çubuğu, aşağıdakileri de destekleyen işlevler sağlar:
|
Sistem kullanıcı arayüzü | Bir uygulamanın parçası olmayan, ekranda görüntülenen herhangi bir öğeyi ifade eder. |
Kullanıcı Değiştirici Kullanıcı Arayüzü | Kullanıcının farklı bir kullanıcı seçebileceği ekran. |
Ses düzeyi kullanıcı arayüzü | Sürücü, belirli bir cihazda ses düzeyini değiştirmek için fiziksel ses düğmeleri kullandığında görüntülenen iletişim kutusu olanak tanır. |
Sistem Kullanıcı Arayüzü nasıl çalışır?
Sistem Kullanıcı Arayüzü, cihaz açıkken çalışan bir Android uygulamasıdır. İlgili içeriği oluşturmak için kullanılan "Uygulamanın her yönüyle SystemServer. Sistem kullanıcı arayüzünün kullanıcıların görebildiği en alakalı giriş noktaları aşağıda listelenmiştir. Android sistem kullanıcı arayüzünü Automotive'e özgü özellikler için özelleştirmek amacıyla bu bileşenleri kullanın.
config_statusBarComponent
config_systemUIFactoryComponent
CarSystemUI, System UI paketinin bir uzantısıdır. Yani, System UI paketindeki kaynaklar, CarSystemUI paketi tarafından kullanılabilir ve geçersiz kılınabilir.
Sistem kullanıcı arayüzünü özelleştirme
Yer Paylaşımları
Sistem kullanıcı arayüzünü özelleştirmek için Android kaynak kodunu değiştirebilirsiniz. gelecekteki Android güncellemelerini uygulamayı daha zor ve karmaşık hale getirir. Bunun yerine, kaynak dosyalarını, herhangi bir bağlantı olmadan değiştirmenize olanak tanıyan bir bindirme dizininin kullanımını destekler kaynak kodu değiştirme. Android derleme sisteminde bindirme sistemi, kontrollü bir şekilde uygulanmasını sağlar. Değiştirilen tüm dosyalar, dosyanın tamamı taşınmadan açık bir şekilde tanımlanır AOSP kaynak kodu ağacı.
Yer paylaşımlı dosyalar PRODUCT_PACKAGE_OVERLAYS
dizinine yerleştirilmeli ve
orijinal AOSP kök yapısıyla tam olarak aynı alt klasörlere sahiptir. Android için
10 veya daha yüksek bir değerse PRODUCT_PACKAGE_OVERLAYS
, şu değere ayarlanır:
PRODUCT_PACKAGE_OVERLAYS := packages/services/Car/car_product/overlay
Automotive System UI, sistem kullanıcı arayüzü ve CarSystemUI paketlerindeki kaynakları kullanır. Diğer bir deyişle, her bir konumdan gelen kaynaklar, yer paylaşımlarıyla geçersiz kılınarak tasarımını ve tarzını konuşturun.
Bir dosyayı değiştirmek için, değiştirilmekte olan dosyanın dizin yapısını
/overlay
dizinini açın ve ardından, yedek öğesini bu
dizin. Örneğin, şunu değiştirmek için:
frameworks/base/packages/CarSystemUI/res/layout/super_status_bar.xml
Şu konumdaki yeni super_status_bar.xml
dosyasını ekleyin:
packages/services/Car/car_product/overlay/frameworks/base/packages/CarSystemUI/res/layout/
frameworks/base/packages/SystemUI/res/values/config.xml
öğesini değiştirmek için,
(CarSystemUI değil, Sistem kullanıcı arayüzünde), yeni config.xml
dosyasını şuraya ekleyin:
packages/services/Car/car_product/overlay/frameworks/base/packages/SystemUI/res/layout/
veya
packages/services/Car/car_product/overlay/frameworks/base/packages/CarSystemUI/res/layout/
İki temel özelleştirme giriş noktasının açıklamaları aşağıda verilmiştir.
Gezinme çubuğu
Otomotiv Sistemi kullanıcı arayüzünün solunda, altında ve sağında üç gezinme çubuğu olabilir. tıklayın. Her sistem çubuğunun görünürlüğü aşağıdaki yapılandırmalarla değiştirilir:
config_enableLeftSystemBar
config_enableBottomSystemBar
config_enableRightSystemBar
Her çubuğun durumu, ilgili düzen dosyaları:
car_left_system_bar.xml
car_left_system_bar_unprovisioned.xml
car_system_bar.xml
(alttaki gezinme çubuğunun düzeni)car_system_bar_unprovisioned.xml
car_right_system_bar.xml
car_right_system_bar_unprovisioned.xml
Bu düzenler,
Bu, en üst düzeyde com.android.systemui.car.systembar.CarSystemBarView
diğer gerekli görünümleri de ekleyin. Gezinme çubuklarının içindeki düğmeler,
com.android.systemui.car.systembar.CarSystemBarButton
Bu görüntüleme sayıları CarSystemBar#createSystemBar
, olduğundan daha yüksek
cihazın temel hazırlığı doğru şekilde yapılmış olabilir.
Durum çubuğu
Durum çubuğunu, ek işlevlere sahip bir gezinme çubuğu olarak düşünün. Gezinmeden farklı çubuğunda bunu devre dışı bırakacak bir işaret yoktur. Durum çubuğunu şunlarla değiştirebilirsiniz:
car_top_navigation_bar.xml
car_top_navigation_bar_unprovisioned.xml
Bu düzenler com.android.systemui.statusbar.car.CarNavigationBarView
içermelidir
teşvik edebilirsiniz. Durum çubuğu, durum simgeleri içerir. Bir simgenin boyutunu değiştirmek için
simge simgesini, belirli bir boyut belirtmek yerine ölçek faktörüyle eşit şekilde ayarlayın. Örneğin,
/overlay/frameworks/base/packages/CarSystemUI/res/values/dimens.xml
dosyasına
iki kat artırmak için aşağıdaki boyutları kullanın:
<resources> <!-- The amount by which to scale up the status bar icons.--> <item name="status_bar_icon_scale_factor" format="float" type="dimen">2</item> </resources>
Durum çubuğu, aşağıdakileri de içeren özel bir pencereleme katmanında yer alır:
bildirimler paneli, kullanıcı değiştirici, uyarı bildirimleri (HUN) ve
ve tuş koruyucu. Bunlara ilişkin çeşitli düzenler
super_status_bar.xml
Sistem kullanıcı arayüzü kaynak kodu değişiklikleri
Bindirmeler, sistem kullanıcı arayüzü davranışını yeterince özelleştirmek için gereken esnekliği sağlamayabilir.
Uyarı. Android kaynak kodunda yapılan değişikliklerin güncellenmesi zor Android'in sonraki sürümlerinde kullanıma sunulacak. Otomotiv sistemi kullanıcı arayüzü kodunu genişletmenizi önemle tavsiye ederiz. tercih edebilirsiniz. Bu şekilde, temel Automotive System kullanıcı arayüzü kaynak kodu tüm özelleştirmeler bilinen API yüzeylerini inceleyin.
Sistem Arayüzünün çoğu özelliği şu iki giriş noktasıyla özelleştirilebilir:
config_statusBarComponent
config_systemUIFactoryComponent
Örneğin,
com.android.systemui.statusbar.car.custom.CustomCarStatusBar
,
CarStatusBar
uzatılır, config_statusBarComponent
değerini nokta olarak güncelleyin
ekleyebilirsiniz. Bu sınıfın genişletilmesi, ilgili sınıfa ait öğelerin çoğunun özelleştirilmesini sağlar.
görebilirsiniz.
Benzer bir şekilde, CustomCarSystemUIFactory
oluşturabilir ve bunu şuraya yerleştirebilirsiniz:
config_systemUIFactoryComponent
.
VolumeUI ve kilit ekranı.
Kullanıcı değiştirmeyi ve kilit açmayı özelleştirin
Aşağıdaki materyalde, kullanıcı geçiş deneyiminin nasıl özelleştirileceği açıklanmaktadır.
Terim | Açıklama |
---|---|
Keyguard | Ön plan uygulamasıyla yanlışlıkla etkileşimi önlemek için tam ekran iletişim kutusu. Birden fazla kullanıcı ayarlandığında her kullanıcının gizliliğini korur. |
İletişim kutusu yükleniyor | Kullanıcılar arasında geçiş yapılırken yükleme ekranı gösteriliyor. |
Kilit ekranı, zıplayan | Bir kişinin PIN, desen veya şifre girmesini gerektiren ekran. |
Kullanıcı | Android kullanıcısı. |
Kullanıcı seçici | Bir cihaz başlatıldığında kullanıcı seçici ekranı görüntülenir. |
Kullanıcı değiştirici | QuickSettings'ten ekranlar arasında geçiş yaparken kullanıcı değiştirici gösteriliyor. |
Kullanıcı değiştirmeyi özelleştirme
Tuş koruyucu ve yayıcı
Android Automotive OS'te kullanıcı seçici içeren Tuş Koruması ekranı yalnızca gösterilir. Kullanıcı kilit ekranındaki İptal düğmesini tıkladığında. Tuş koruyucu ekranı aşağıda gösteriliyor.
Şekil 1. Tuş koruyucu ekranı
Kullanıcı bir gizlilik türü seçtiğinde, geri sekmeli bir kilit ekranı görüntülenir. aşağıda gösterildiği gibi cihazın kilidini açın.
Şekil 2. Kilit ekranı'nı tıklayın.
Kilit, gücü manuel olarak açacak veya kapatacak şekilde ayarlandığında aşağıdaki talimatı kullanın:
adb shell input keyevent 26
Kullanıcı seçici
Arabanın Sistem Kullanıcı Arayüzü durum çubuğuna entegre olan bir cihaz olduğunda kullanıcı seçici ekranı görüntülenir
Haritalar yeniden başlatılır. Daha fazla bilgi edinmek için bkz.
FullscreenUserSwitcher
Şekil 3. Kullanıcı seçici ekranı
Bu ekranın düzeni şununla özelleştirilebilir:
car_fullscreen_user_switcher.xml
Yükleme ekranı
Giriş noktasından bağımsız olarak, kullanıcı her değiştirildiğinde yükleme ekranı görüntülenir. Örneğin,
kullanıcı seçiciden veya Ayarlar ekranından yapabilirsiniz. Yükleme ekranı,
sistem kullanıcı arayüzü ve erişim yetkisi verilen herkese açık sınıfla
CarUserSwitchingDialog
Örnek için yukarıdaki Şekil 3'e bakın.
Tema,
Theme_DeviceDefault_Light_Dialog_Alert_UserSwitchingDialog
Android kullanıcısının ayarlarını yapmak için, ilk Kurulum Sihirbazı akışı, sürücünün bir kullanıcıyı ayarlamasına olanak tanır ekleyebilirsiniz. Sürücü, daha sonra Android kullanıcısını bir Google Hesabı ile ilişkilendirirse adı seçilir. Ancak sürücü bir ad belirtirse (örneğin, DriverB) ve daha sonra bu kullanıcı adını Google Hesabı ile, Maddy'nin adıyla ilişkilendirir. Başlangıçta atanan ad (DriverB), bu ad açıkça ayarlandığı için değiştirilmez. Sürücü adı yalnızca Ayarlar menüsünden değiştirebilir.
Düzen car_user_switching_dialog.xml.
uygulamasında özelleştirilebilir
OEM'ler,
NoActionBar.Fullscreen
(Bu, araba referans kullanıcı arayüzü için güncellenmiş orijinal Sistem kullanıcı arayüzüdür.) Daha fazla bilgi için bkz.
Özelleştirme.
OEM'ler, kullanıcılar arasında geçiş yapmak için kullanıcı arayüzü giriş noktaları sağlayabilir. Ancak sonuçlar bazen istenmeyen bir durumdur. Bu durumda:
- OEM, özel yükleme ekranını (veya iletişim kutusunu) oluşturup görüntüler.
- Kullanıcı deneyimine özel olarak, OEM, kullanıcı aşağıdakileri yapmak için araçlar seçtiğinde özel yükleme ekranını kullanıcı geçişi tamamlandığında gizlenebilen anahtardır.
- OEM, Google Ads'deki önceliği pencere tercihlerine göre değişebilir. Örneğin, daha yüksek öncelikli bir pencere türü. Öncelik Tuş Koruması'nın önceliği aşılamaz.
- OEM,
config_customUserSwitchUi=true
özelliğini temel çerçevede ayarlarconfig_customuserswitchui
içinde açıklandığı gibiconfig.xml
. Kullanıcı sonuç olarak çerçeveCarUserSwitchingDialog
simgesini göstermez.
Kilit ekranını özelleştirme
Kilit ekranı, OEM tarafından özelleştirilebilen Sistem kullanıcı arayüzünün dahili bir parçasıdır.
Akışı özelleştirmek için frameworks/base/packages/CarSystemUI/
ile başlayın.
İlk kullanıcı kurulumunu özelleştirme
Kurulum Sihirbazı, ilk kullanıcı kurulumunu gerçekleştirir. Bu da özelleştirilebilir. Şunları yapabilirsiniz: her bir UserManager API'leri gerekiyor. Bazı durumlarda bu işlem arka planda da uygulanır, böylece işlemini tekrarlamanız gerekir.