Wzorce i komponenty

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.

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

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ędnym Theme.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 metody onAttach(Context) we fragmencie.