W Androidzie 8.0 menu Ustawienia zawiera kilka komponentów i widżetów obejmujących popularne zastosowania. Zachęcamy producentów i deweloperów urządzeń do korzystania z popularnych komponentów przy rozszerzaniu aplikacji Ustawienia, aby nowe interfejsy użytkownika były spójne z obecnym interfejsem ustawień.
Oto podsumowanie ulepszeń:
- Zmiana działania separatorów w strukturze preferencji biblioteki pomocy. Narysowano teraz podział na kategorie.
- Zmiana motywu paska ActionBar. Pasek akcji wyświetla teraz jasny motyw kolorystyczny z kolorowym tekstem.
- Nowy układ preferencji. Miejsce na ikony pozostaje dostępne nawet wtedy, gdy ustawienie nie ma ikony.
Nowe widżety:
- Widżet nagłówka ze szczegółami aplikacji. Wyświetla ikonę aplikacji, etykietę aplikacji i inne informacje.
- przycisk rozwijania na niektórych stronach; Dopóki użytkownik nie kliknie przycisku rozwijania, strona może być zwinięta i ukrywać mniej ważne elementy.
- Domyślny interfejs selektora aplikacji:
- Interfejs umożliwiający wybór domyślnej przeglądarki, domyślnej aplikacji telefonicznej itp.
- Dawniej jest to pełnoekranowy interfejs oparty na przyciskach.
- Ustawienie stylu „MasterSwitch”. Jest to preferencja z 2 celami kliknięcia. Lewy element docelowy prowadzi do fragmentu lub intencji podrzędnej. Prawy punkt docelowy to przełącznik, który służy do włączania i wyłączania całej strony.
Przykłady i źródło
- Sposób działania separatora
- Wszystkie strony w Ustawieniach zostały zmodyfikowane tak, aby korzystały z nowego sposobu podziału.
- Działanie separatora jest zdefiniowane jako nakładki motywu w następujących językach:
packages/apps/Settings/res/values/styles_preference.xml
- Zmiana motywu paska ActionBar
- Wszystkie strony w Ustawieniach zostaną zmodyfikowane tak, aby korzystały z nowego motywu ActionBar.
- Motyw jest zdefiniowany w sekcji Theme.DeviceDefault.Settings.
- Nowy układ preferencji
- Wiele stron w Ustawieniach ma teraz nowy układ ustawień.
- Kod znajdziesz tutaj:
packages/apps/Settings/res/values/styles_preference.xml
- Widżet nagłówka aplikacji
- Większość stron z informacjami o aplikacji w Ustawieniach ma już zaimplementowany nowy nagłówek.
- Przykłady i kod można znaleźć na stronie:
packages/apps/Settings/src/com/android/settings/applications/AppHeaderController.java
- Przycisk rozwijania:
- Przykłady i kod można znaleźć na stronie:
packages/apps/Settings/src/com/android/settings/dashboard/ProgressiveDisclosureMixin.java
Uwaga: tego komponentu należy używać razem z komponentem DashboardFragment. Więcej informacji o tym fragmencie swojego pliku znajdziesz w artykule Zaktualizowana architektura informacji.
- Przykłady i kod można znaleźć na stronie:
- Domyślny selektor aplikacji
- Kod klasy bazowej znajdziesz tutaj:
packages/apps/Settings/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java
- Istnieje kilka podklasy zasobu DefaultAppPickerFragment, z których każda implementuje selektor dla innej intencji.
- Kod klasy bazowej znajdziesz tutaj:
- Ustawienie stylu MasterSwitch
- Kod znajdziesz na
https://cs.android.com/android/platform/superproject/+/main:packages/apps/Settings/src/com/android/settings/wifi/WifiPrimarySwitchPreferenceController.java
- Przykładem może być główny przełącznik Wi-Fi. Przykład znajdziesz na stronie:
packages/apps/Settings/src/com/android/settings/wifi/WifiMasterSwitchPreferenceController.java
- Kod znajdziesz na
Implementacja
Producenci urządzeń mogą od razu zacząć używać wszystkich nowych komponentów. Jeśli OEM zdecyduje się wdrożyć nowy preferowany styl „MasterSwitch” lub domyślny selektor aplikacji, w celu uzyskania dodatkowych informacji powinni skorzystać z przykładów podanych w tym dokumencie i plików referencyjnych (Javadoc) zapisanych w każdym z komponentów.
Dostosowywanie menu ustawień
- Sposób działania separatora. Aby zmienić sposób rysowania separatora, zaktualizuj styl separatorów ustawień i zmień wartość tych elementów:
allowDividerAbove
allowDividerBelow
allowDividerAfterLastItem
- Kolor motywu ActionBar. Aktywności powinny mieć motyw
Theme.DeviceDefault.Settings
lub utworzyć motyw niestandardowy z elementem nadrzędnymTheme.DeviceDefault.Settings
. - Widżet nagłówka aplikacji. Za pomocą ustawień w AppHeaderController dostosuj każde pole i wywołaj
build()
po ustawieniu wszystkich pól. - Przycisk rozwijania:
- Aby całkowicie wyłączyć tę funkcję, zastąp konstruktor dla Progressive NoticeMixin i ustaw wartośćkeepExtended na „true”.
- Aby dostosować liczbę elementów, które mają być wyświetlane początkowo, wywołaj metodę
ProgressiveDisclosureMixin.setTileLimit()
podczas metodyonAttach(Context)
we fragmencie.