Android 8.0'da Ayarlar menüsüne, yaygın kullanım alanlarını kapsayan çeşitli bileşenler ve widget'lar eklenir. Cihaz üreticilerinin ve geliştiricilerin, Ayarlar uygulamasını genişletirken ortak bileşenleri kullanmaları önerilir. Böylece yeni kullanıcı arayüzleri, mevcut Ayarlar kullanıcı arayüzüyle tutarlı kalır.
İyileştirmelerin özeti:
- Destek kitaplığı tercih çerçevesinde ayırıcı davranış değişikliği. Artık kategoriler arasında ayırıcı çiziliyor.
- ActionBar tema değişikliği. ActionBar artık vurgu rengi metniyle açık renk temasını kullanıyor.
- Yeni tercih düzeni. Tercihin simgesi olmasa bile simgeler için ayrılan alan korunur.
Yeni widget'lar:
- Uygulama ayrıntıları için bir başlık widget'ı. Uygulama simgesini, uygulama etiketini ve diğer bilgileri gösterir.
- Bazı sayfalarda genişlet düğmesi. Sayfa, daraltılmış olarak başlayabilir ve kullanıcı genişletme düğmesini tıklayana kadar daha az önemli öğeleri gizleyebilir.
- Varsayılan uygulama seçici kullanıcı arayüzü:
- Varsayılan tarayıcıyı, varsayılan telefon uygulamasını vb. seçme kullanıcı arayüzü
- Eskiden bir iletişim kutusu olan bu özellik artık tam ekran radyo düğmesi tabanlı bir kullanıcı arayüzü olarak sunuluyor.
- "MasterSwitch" stil tercihi. Bu, iki tıklama hedefi olan bir tercihtir. Sol hedef, bir alt kümeleme parçasına veya amaca yönlendirir. Sağdaki hedef, sayfanın tamamı için açma/kapama işlevini kontrol eden bir anahtardır.
Örnekler ve kaynak
- Ayırıcı davranışı
- Ayarlar'daki tüm sayfalar, yeni ayırıcı davranışını kullanacak şekilde değiştirildi.
- Ayırıcı davranışı, şu dosyalarda ThemeOverlay olarak tanımlanır:
packages/apps/Settings/res/values/styles_preference.xml
- ActionBar tema değişikliği
- Ayarlar'daki tüm sayfalar, yeni ActionBar temasını kullanacak şekilde değiştirildi.
- Tema, Theme.DeviceDefault.Settings içinde tanımlanır.
- Yeni tercih düzeni
- Ayarlar'daki birçok sayfada artık yeni tercih düzeni kullanılıyor.
- Kodu şu konumlarda bulabilirsiniz:
packages/apps/Settings/res/values/styles_preference.xml
- Uygulama başlığı widget'ı
- Ayarlar'daki çoğu uygulama bilgileri sayfasında yeni uygulama başlığı zaten uygulanıyor.
- Ö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.javaNot: Bu bileşen, DashboardFragment ile birlikte kullanılmalıdır. (Güncellenmiş Bilgi Mimarisi'nde DashboardFragment hakkında daha fazla bilgi edinebilirsiniz.)
- Örnekleri ve kodu şu adreste bulabilirsiniz:
- Varsayılan uygulama seçici
- Temel sınıfın kodunu şu konumlarda bulabilirsiniz:
packages/apps/Settings/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java - DefaultAppPickerFragment'in çeşitli alt sınıfları vardır ve her biri farklı amaçlar için bir seçici uygular.
- Temel sınıfın kodunu şu konumlarda bulabilirsiniz:
- MasterSwitch stil tercihi
- Kod şu adreste:
https://cs.android.com/android/platform/superproject/+/main:packages/apps/Settings/src/com/android/settings/wifi/WifiPrimarySwitchPreferenceController.java - Örnek bir kullanım alanı, birincil Wi-Fi anahtarıdır. Örneği şu adreste bulabilirsiniz:
packages/apps/Settings/src/com/android/settings/wifi/WifiMasterSwitchPreferenceController.java
- Kod şu adreste:
Uygulama
Cihaz üreticileri, tüm yeni bileşenleri kutudan çıkarır çıkarmaz kullanmaya başlayabilir. OEM'ler yeni bir "MasterSwitch" stil tercihi veya varsayılan uygulama seçici uygulamaya karar verirse daha fazla bilgi için bu belgedeki örnekleri ve her bileşenle yazılmış referans dosyalarını (Javadoc) incelemelidir.
Ayarlar menüsünü özelleştirme
- Ayırıcı 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ğıdaki değerleri değiştirin:
allowDividerAboveallowDividerBelowallowDividerAfterLastItem
- ActionBar tema rengi. Etkinlikler tema olarak
Theme.DeviceDefault.Settingskullanmalı veya üst olarakTheme.DeviceDefault.Settings'yı kullanarak özel bir tema oluşturmalıdır. - Uygulama üstbilgisi widget'ı. Her alanı özelleştirmek ve tüm alanlar ayarlandıktan sonra
build()işlevini çağırmak için AppHeaderController'da ayarlayıcıları kullanın. - Genişlet düğmesi:
- İşlevselliği tamamen devre dışı bırakmak için ProgressiveDisclosureMixin'in oluşturucusunu geçersiz kılın ve keepExpanded'ı true olarak ayarlayın.
- Başlangıçta kaç öğe gösterileceğini özelleştirmek için parçanın
ProgressiveDisclosureMixin.setTileLimit()yöntemi sırasındaonAttach(Context)yöntemini çağırın.