W systemie Android 8.0 menu Ustawienia zawiera kilka komponentów i widżetów obejmujących typowe zastosowania. Zachęcamy producentów i programistów urządzeń do korzystania z typowych komponentów podczas rozszerzania aplikacji Ustawienia, aby nowe interfejsy użytkownika pozostały spójne z istniejącym interfejsem użytkownika Ustawienia.
Oto podsumowanie ulepszeń:
- Zmiana zachowania dzielnika w strukturze preferencji biblioteki pomocniczej. Rozdzielacz jest teraz rysowany pomiędzy kategoriami.
- Zmiana motywu ActionBar. Pasek ActionBar wykorzystuje teraz motyw jasnych kolorów z tekstem w kolorze akcentującym.
- Nowy układ preferencji. Miejsce na ikony pozostaje nawet wtedy, gdy preferencja nie ma ikony.
Nowe widżety:
- Widżet nagłówka zawierający szczegóły aplikacji. Wyświetla ikonę aplikacji, etykietę aplikacji i inne informacje.
- Przycisk rozwijania na niektórych stronach. Strona może zaczynać się od zwiniętej i ukrywać mniej ważne elementy, dopóki użytkownik nie kliknie przycisku rozwijania.
- Domyślny interfejs wyboru aplikacji:
- Interfejs użytkownika umożliwiający wybór domyślnej przeglądarki, domyślnej aplikacji na telefon itp.
- Dawniej okno dialogowe, teraz jest to pełnoekranowy interfejs użytkownika oparty na przyciskach opcji.
- Preferowany styl „MasterSwitch”. Jest to preferencja z dwoma celami kliknięcia. Lewy cel prowadzi do fragmentu lub intencji podzbioru. Prawy cel to przełącznik, umożliwiający włączanie/wyłączanie całej strony.
Przykłady i źródło
- Zachowanie dzielnika
- Wszystkie strony w Ustawieniach zostały zmodyfikowane tak, aby korzystały z nowego zachowania rozdzielacza.
- Zachowanie dzielnika definiuje się jako ThemeOverlay w:
packages/apps/Settings/res/values/styles_preference.xml
- Zmiana motywu ActionBar
- Wszystkie strony w Ustawieniach zostały zmodyfikowane tak, aby korzystały z nowego motywu ActionBar.
- Motyw jest zdefiniowany w Theme.DeviceDefault.Settings
- Nowy układ preferencji
- Wiele stron w Ustawieniach korzysta teraz z nowego układu preferencji.
- Kod znajdziesz w:
packages/apps/Settings/res/values/styles_preference.xml
- Widget nagłówka aplikacji
- Większość stron z informacjami o aplikacjach w Ustawieniach implementuje już nowy nagłówek aplikacji.
- Przykłady i kod można znaleźć pod adresem:
packages/apps/Settings/src/com/android/settings/applications/AppHeaderController.java
- Przycisk Rozwiń
- Przykłady i kod można znaleźć pod adresem:
packages/apps/Settings/src/com/android/settings/dashboard/ProgressiveDisclosureMixin.java
Uwaga: tego komponentu należy używać razem z DashboardFragment. (Zobacz więcej szczegółów na temat DashboardFragment w zaktualizowanej architekturze informacji .)
- Przykłady i kod można znaleźć pod adresem:
- Domyślny selektor aplikacji
- Kod klasy bazowej można znaleźć w:
packages/apps/Settings/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java
- Istnieje kilka podklas DefaultAppPickerFragment, z których każda implementuje selektor do różnych celów.
- Kod klasy bazowej można znaleźć w:
- Preferencje stylu MasterSwitch
- Kod znajduje się pod adresem:
https://cs.android.com/android/platform/superproject/+/main:packages/apps/Settings/src/com/android/settings/wifi/WifiPrimarySwitchPreferenceController.java
- Przykładowym przypadkiem użycia jest główny przełącznik Wi-Fi. Przykład można znaleźć pod adresem:
packages/apps/Settings/src/com/android/settings/wifi/WifiMasterSwitchPreferenceController.java
- Kod znajduje się pod adresem:
Realizacja
Producenci urządzeń mogą zacząć korzystać ze wszystkich nowych komponentów od razu po wyjęciu z pudełka. Jeśli producenci OEM zdecydują się na wdrożenie nowych preferencji stylu „MasterSwitch” lub domyślnego selektora aplikacji, powinni zapoznać się z przykładami zawartymi w tym dokumencie i plikami referencyjnymi (Javadoc) zapisanymi dla każdego komponentu, aby uzyskać więcej szczegółów.
Dostosowywanie
- Zachowanie dzielnika. Aby zmienić sposób rysowania dzielnika, zaktualizuj styl dzielników Ustawień i zmień wartości następujących elementów:
- Zezwól napowyżej
- Zezwól na podziałPoniżej
- Zezwalaj na dzielnik po ostatnim elemencie
- Kolor motywu ActionBar. Działania powinny używać
Theme.DeviceDefault.Settings
jako motywu lub utworzyć niestandardowy motyw, używającTheme.DeviceDefault.Settings
jako elementu nadrzędnego. - Widget nagłówka aplikacji. Użyj seterów w AppHeaderController, aby dostosować każde pole i wywołać funkcję build() po ustawieniu wszystkich pól.
- Przycisk rozwiń:
- Aby całkowicie wyłączyć tę funkcjonalność, zastąp konstruktor ProgressiveDisclosureMixin i ustaw opcję keepExpanded na true.
- Aby dostosować liczbę elementów wyświetlanych początkowo, wywołaj metodę
ProgressiveDisclosureMixin.setTileLimit()
podczas metodyonAttach(Context)
fragmentu.