Kalıplar ve bileşenler

Android 8.0'da Ayarlar menüsü, yaygın kullanımları kapsayan çeşitli bileşenler ve widget'lar sunar. Cihaz üreticilerinin ve geliştiricilerin, yeni kullanıcı arayüzlerinin mevcut Ayarlar kullanıcı arayüzüyle tutarlı kalmasını sağlamak için Ayarlar uygulamasının kapsamını genişletirken ortak bileşenleri kullanmaları önerilir.

Aşağıda, yapılan iyileştirmelerin bir özeti verilmiştir:

  • Destek kitaplığı Tercih çerçevesinde bölen davranış değişikliği. Bölen artık kategoriler arasında çizilir.
  • İşlem Çubuğu tema değişikliği. İşlem Çubuğu artık vurgu rengi metinle birlikte açık renk temasını kullanıyor.
  • Yeni tercih düzeni. Bir tercihte simge olmasa bile simgeler için boşluk kalır.

Yeni widget'lar:

  • Uygulama ayrıntıları için başlık widget'ı. Uygulama simgesini, uygulama etiketini ve diğer bilgileri görüntüler.
  • Bazı sayfalarda genişlet düğmesi. Sayfa daraltılmış olarak başlayabilir ve kullanıcı genişlet düğmesini tıklayana kadar daha az önemli öğeleri gizleyebilir.
  • Varsayılan uygulama seçici kullanıcı arayüzü:
    • Varsayılan tarayıcı, varsayılan telefon uygulaması vb. seçimi yapma kullanıcı arayüzü
    • Eskiden iletişim kutusu, şimdi ise tam ekran radyo düğmesi tabanlı bir kullanıcı arayüzü.
  • "MasterSwitch" stili tercihi. Bu, iki tıklama hedefi olan bir tercihtir. Sol hedef, bir alt ayar parçasına veya amaca yönlendiriyor. Sağ hedef, sayfanın tamamının açılıp kapatılmasını kontrol eden bir anahtar açma/kapatma düğmesidir.

Örnekler ve kaynak

  • Bölen davranışı
    • Ayarlar'daki tüm sayfalar, yeni ayırıcı davranışı kullanacak şekilde değiştirilmiştir.
    • Bölen davranışı şu konumlarda bir ThemeOverlay olarak tanımlanır:
      packages/apps/Settings/res/values/styles_preference.xml
  • İşlem Çubuğu tema değişikliği
    • Ayarlar'daki tüm sayfalar, yeni İşlem Çubuğu temasını kullanacak şekilde değiştirildi.
    • Tema, Theme.DeviceDefault.Settings içinde tanımlanmıştır
  • Yeni tercih düzeni
    • Ayarlar'daki birçok sayfa artık yeni tercih düzenini kullanıyor.
    • Kodu şurada bulabilirsiniz:
      packages/apps/Settings/res/values/styles_preference.xml
  • Uygulama başlığı widget'ı
    • Ayarlar'daki uygulama bilgisi sayfalarının çoğu zaten yeni Uygulama başlığını uyguluyor.
    • Örnekleri ve kodu şu adreste bulabilirsiniz:
      packages/apps/Settings/src/com/android/settings/applications/AppHeaderController.java
  • Genişlet düğmesi
    • Örnekleri ve kodu şu adreste bulabilirsiniz:
      packages/apps/Settings/src/com/android/settings/dashboard/ProgressiveDisclosureMixin.java

      Not: Bu bileşen,DashboardFragment ile birlikte kullanılmalıdır. (DashboardFragment hakkında daha fazla ayrıntı için Updated Information Architecture (Güncellenen Bilgi Mimarisi) bölümüne bakın.)

  • Varsayılan uygulama seçici
    • Temel sınıfın kodunu şurada bulabilirsiniz:
      packages/apps/Settings/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java
    • DefaultApp PickerFragment'ın her biri farklı amaçlar için bir seçici uygulayan birkaç alt sınıfı vardır.
  • MasterSwitch stil tercihi
    • Kodun adresi: https://cs.android.com/android/platform/superproject/+/main:packages/apps/Settings/src/com/android/settings/wifi/WifiPrimarySwitchPreferenceController.java
    • Kablosuz birincil anahtar, örnek olarak kullanılabilir. Bir örneği şu adreste bulabilirsiniz: packages/apps/Settings/src/com/android/settings/wifi/WifiMasterSwitchPreferenceController.java

Uygulama

Cihaz üreticileri tüm yeni bileşenleri kullanıma hazır şekilde kullanmaya başlayabilir. OEM'ler yeni bir "MasterSwitch" stil tercihi veya varsayılan uygulama seçici uygulamaya karar verirse daha ayrıntılı bilgi için bu belgedeki örnekleri ve her bileşenle yazılmış referans dosyalarını (Javadoc) uygulamalıdır.

Ayarlar menüsünü özelleştirme

  • Bölen davranışı. Ayırıcının çizilme şeklini değiştirmek için Ayarlar ayırıcılarının stilini güncelleyin ve aşağıdakilerin değerini değiştirin:
    • allowDividerAbove
    • allowDividerBelow
    • allowDividerAfterLastItem
  • ActionBar tema rengi. Etkinlikler, tema olarak Theme.DeviceDefault.Settings kullanmalı veya Theme.DeviceDefault.Settings üst öğesi kullanarak özel bir tema oluşturmalıdır.
  • Uygulama başlık widget'ı. Her bir alanı özelleştirmek için AppHeaderController'da belirleyicileri kullanın ve tüm alanlar ayarlandığında build() öğesini çağırın.
  • Genişlet düğmesi:
    • İşlevleri tamamen devre dışı bırakmak için Progresif AçıklamaMixin oluşturucuyu geçersiz kılın ve keepexpand'ı true olarak ayarlayın.
    • Başlangıçta kaç öğenin gösterileceğini özelleştirmek için parçanın onAttach(Context) yöntemi sırasında ProgressiveDisclosureMixin.setTileLimit() yöntemini çağırın.