Android 8.0'de Ayarlar menüsüne, yaygın kullanımları kapsayan çeşitli bileşenler ve widget'lar eklendi. Cihaz üreticilerinin ve geliştiricilerin, yeni kullanıcı arayüzlerinin mevcut Ayarlar kullanıcı arayüzüyle tutarlı kalması için Ayarlar uygulamasını genişletirken ortak bileşenleri kullanmaları önerilir.
İyileştirmelerin özeti şu şekildedir:
- Destek kitaplığı tercih çerçevesinde bölücü davranışı değişikliği. Ayırıcı artık kategoriler arasına çizilir.
- ActionBar teması değişikliği. ActionBar artık vurgu rengi metinle açık renk temasını kullanıyor.
- Yeni tercih düzeni. Bir tercihin simgesi olmasa bile simge alanı gösterilir.
Yeni widget'lar:
- Uygulama ayrıntıları için bir 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çmek için kullanılan kullanıcı arayüzü.
- Önceden iletişim kutusu olan bu özellik, artık tam ekran radyo düğmesine dayalı bir kullanıcı arayüzüdür.
- "MasterSwitch" stil tercihi. Bu, iki tıklama hedefi içeren bir tercihtir. Sol hedef, alt küme fragmanına veya amaca yönlendirir. Sağ hedef, sayfanın tamamının açık/kapalı durumunu kontrol eden bir açma/kapatma düğmesidir.
Örnekler ve kaynak
- Bölme davranışı
- Ayarlar'daki tüm sayfalar, yeni bölücü davranışını kullanacak şekilde değiştirildi.
- Bölme davranışı, şu konumlarda ThemeOverlay olarak tanımlanır:
packages/apps/Settings/res/values/styles_preference.xml
- ActionBar teması değişikliği
- Ayarlar'daki tüm sayfalar yeni ActionBar temasını kullanacak şekilde değiştirildi.
- Tema, Theme.DeviceDefault.Settings alanında 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 uygulama bilgileri sayfalarının çoğunda yeni uygulama başlığı zaten uygulanmaktadır.
- Ö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. (Güncellenen Bilgi Mimarisi bölümünde DashboardFragment hakkında daha fazla bilgi edinin.)
- Ö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 her biri farklı bir intent için seçici uygulayan birkaç alt sınıfı vardır.
- Temel sınıfın kodunu şu konumlarda bulabilirsiniz:
- MasterSwitch stil tercihi
- Kod şu adrestedir:
https://cs.android.com/android/platform/superproject/main/+/main:packages/apps/Settings/src/com/android/settings/wifi/WifiPrimarySwitchPreferenceController.java
- Kablosuz birincil anahtar, örnek kullanım alanlarından biridir. Bir örneği şu adreste bulabilirsiniz:
packages/apps/Settings/src/com/android/settings/wifi/WifiMasterSwitchPreferenceController.java
- Kod şu adrestedir:
Uygulama
Cihaz üreticileri, yeni bileşenlerin tümünü kutudan çıkar çıkmaz kullanmaya başlayabilir. OEM'ler yeni bir "MasterSwitch" stili tercihi veya varsayılan uygulama seçici uygulamaya karar verirse daha fazla bilgi için bu belgedeki örnekleri ve her bileşenle birlikte yazılan referans dosyalarını (Javadoc) izlemelidir.
Ayarlar menüsünü özelleştirme
- Ayırıcı davranışı. Bölücünün çizilme şeklini değiştirmek için Ayarlar bölücülerinin 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 üst öğe olarakTheme.DeviceDefault.Settings
'ü kullanarak özel bir tema oluşturmalıdır. - Uygulama üstbilgisi widget'ı. Her bir alanı özelleştirmek için AppHeaderController'daki ayarlayıcıları kullanın ve tüm alanlar ayarlandıktan sonra
build()
işlevini çağırın. - Genişlet düğmesi:
- İşlevi tamamen devre dışı bırakmak için ProgressiveDisclosureMixin sınıfının oluşturucusunu geçersiz kılın ve keepExpanded değerini true olarak ayarlayın.
- Başlangıçta kaç öğenin gösterileceğini özelleştirmek için fragment'in
onAttach(Context)
yöntemi sırasındaProgressiveDisclosureMixin.setTileLimit()
yöntemini çağırın.