Kalıplar ve bileşenler

Android 8.0'da Ayarlar menüsü, yaygın kullanımlardan bahsedeceğiz. Cihaz üreticilerinin ve geliştiricilerinin yeni kullanıcı arayüzlerinin kalması için Ayarlar uygulamasının genişletilmesinde kullanılan yaygın bileşenleri mevcut Ayarlar kullanıcı arayüzüyle tutarlıdır.

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 (şimdiki değeri) çizilmesine neden olabilir.
  • İşlem Çubuğu tema değişikliği. İşlem Çubuğu artık açık renk temasını vurgu rengi metin.
  • Yeni tercih düzeni. Bir tercih yapıldığında bile simgeler için boşluk bırakılır simgesi yok.

Yeni widget'lar:

  • Uygulama ayrıntıları için başlık widget'ı. Uygulama simgesini, uygulama etiketini ve ekleyebilirsiniz.
  • Bazı sayfalarda genişlet düğmesi. Sayfa daraltılmış olarak başlayabilir ve daha az gizlenebilir kullanıcı genişlet düğmesini tıklayana kadar önemli öğeleri etkilemez.
  • 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ü.
  • Bir "MasterSwitch" stil tercihini görebilirsiniz. Bu, iki tıklamalı bir tercihtir belirler. Sol hedef, bir alt ayar parçasına veya amaca yönlendiriyor. Doğru hedef tüm sayfanın açılmasını/kapatılmasını kontrol eden anahtar açma/kapatma düğmesi.

Ö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ğunda Yeni Uygulama üstbilgisi.
    • Ö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. (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 uygulanan birkaç alt sınıfı vardır. farklı amaçlar için bir seçici oluşturun.
  • MasterSwitch stil tercihi
    • Kodun adresi: https://cs.android.com/android/platform/superproject/main/+/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" kullanmaya karar verirse stil tercihi veya varsayılan uygulama Bu belgedeki örneklere ve referans dosyalara uygun olmalıdır. (Javadoc) belgesini inceleyin.

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 şunun değerini değiştirin:
    • allowDividerAbove
    • allowDividerBelow
    • allowDividerAfterLastItem
  • ActionBar tema rengi. Etkinliklerin teması Theme.DeviceDefault.Settings olmalıdır veya üst öğe olarak Theme.DeviceDefault.Settings kullanarak özel bir tema oluşturun.
  • Uygulama başlık widget'ı. Her alanı ve çağrıyı özelleştirmek için AppHeaderController'da belirleyicileri kullanın Tüm alanlar ayarlandığında build().
  • Genişlet düğmesi:
    • İşlevleri tamamen devre dışı bırakmak için oluşturucuyu geçersiz kılıp ProgressiveDisclosureMixin'i kullanın ve keepExtended'ı true olarak ayarlayın.
    • Başlangıçta kaç öğenin gösterileceğini özelleştirmek için Parça sırasında ProgressiveDisclosureMixin.setTileLimit() yöntemi onAttach(Context) yöntemini çağırın.