W Androidzie 8.0 menu Ustawienia zawiera kilka komponentów i widżetów, obejmują często spotykane zastosowania. Producenci i deweloperzy urządzeń powinni używać narzędzia co często spotykane podczas rozszerzania aplikacji Ustawienia, tak aby nowe interfejsy użytkownika nie zmieniały się jak w dotychczasowym interfejsie ustawień.
Oto podsumowanie ulepszeń:
- Zmiana działania separatorów w strukturze preferencji biblioteki pomocy. Rozgraniczenie to między kategoriami.
- Zmiana motywu paska ActionBar. Na pasku akcji jest teraz używany jasny motyw kolorystyczny, a dodatkowo tekstu w kolorze uzupełniającym.
- 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 inne informacje.
- przycisk rozwijania na niektórych stronach; Strona może być na początku zwinięta i mniej ukrywana ważnych elementów, dopóki użytkownik nie kliknie przycisku rozwijania.
- 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.
- „MasterSwitch” stylu. Jest to preferencja wymagająca dwóch kliknięć. celów. Lewy element docelowy prowadzi do fragmentu lub intencji podrzędnej. Prawy cel to włącz lub wyłącz całą stronę.
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 określone jako nakładki motywu w językach:
packages/apps/Settings/res/values/styles_preference.xml
- Zmiana motywu na pasku 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
- Na większości stron z informacjami o aplikacji w Ustawieniach zaimplementowano już tag nowy nagłówek aplikacji.
- 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: PanelFragment kodu. 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: lub selektor dla innej intencji.
- Kod klasy bazowej znajdziesz tutaj:
- Ustawienie stylu MasterSwitch
- Kod znajduje się na stronie:
https://cs.android.com/android/platform/superproject/main/+/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 tutaj:
packages/apps/Settings/src/com/android/settings/wifi/WifiMasterSwitchPreferenceController.java
- Kod znajduje się na stronie:
Implementacja
Producenci urządzeń mogą od razu zacząć używać wszystkich nowych komponentów. Jeśli OEM zaimplementuje nową funkcję „MasterSwitch” preferencja stylu lub domyślna aplikacja powinni korzystać z przykładów podanych w tym dokumencie oraz w plikach referencyjnych (Javadoc) z każdym komponentem, aby uzyskać więcej informacji.
Dostosowywanie menu ustawień
- Sposób działania separatora. Aby zmienić sposób rysowania separatora, zaktualizuj styl separatorów ustawień i
zmień następujące wartości:
allowDividerAbove
allowDividerBelow
allowDividerAfterLastItem
- Kolor motywu ActionBar. Moduł powinien mieć motyw
Theme.DeviceDefault.Settings
lub Utwórz motyw niestandardowy, używając aplikacjiTheme.DeviceDefault.Settings
jako elementu nadrzędnego. - Widżet nagłówka aplikacji. Użyj ustawień w narzędziu AppHeaderController, aby dostosować każde pole i wywołanie
build()
po ustawieniu wszystkich pól. - Przycisk rozwijania:
- Aby całkowicie wyłączyć tę funkcję, zastąp konstruktor dla ProgressiveReleaseMixin i ustaw wartośćkeepExtended na „true”.
- Aby dostosować liczbę wyświetlanych elementów, wywołaj metodę
Metoda
ProgressiveDisclosureMixin.setTileLimit()
podczas użycia fragmentu MetodaonAttach(Context)
.