Wzorce i komponenty

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.

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

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 aplikacji Theme.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 Metoda onAttach(Context).