Wzory i komponenty

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 .)

  • 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.
  • 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

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ąc Theme.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 metody onAttach(Context) fragmentu.