Wzory i komponenty

W Androidzie 8.0 menu Ustawienia zostało wzbogacone o kilka komponentów i widżetów, które obejmują typowe zastosowania. Producentów i deweloperów urządzeń zachęcamy do korzystania z wspólnych komponentów podczas rozszerzania aplikacji Ustawienia, aby nowe interfejsy były spójne z obecnym interfejsem Ustawień.

Oto podsumowanie ulepszeń:

  • Zmiana zachowania przegrody w ramach preferencji biblioteki pomocy. Podział między kategoriami jest teraz zaznaczony.
  • Zmiana motywu paska narzędzi. Pasek czynności używa teraz jasnego motywu z tekstem w kolorze akcentu.
  • Nowy układ ustawień Miejsce na ikony pozostaje, nawet jeśli ustawienie nie ma ikony.

Nowe widżety:

  • Widget nagłówka z informacjami o aplikacji Wyświetla ikonę aplikacji, etykietę aplikacji i inne informacje.
  • przycisk rozwijania na niektórych stronach. Strona może się wyświetlać w postaci zwiniętej i ukrywa elementy mniej ważne, dopóki użytkownik nie kliknie przycisku rozwinięcia.
  • Domyślny interfejs selektora aplikacji:
    • Interfejs do wybierania domyślnej przeglądarki, domyślnej aplikacji telefonu itp.
    • Wcześniej była to karta, a teraz jest to interfejs z przyciskami opcji na pełnym ekranie.
  • Preferowany styl „MasterSwitch”. To ustawienie z 2 celami kliknięcia. Kierowanie z poziomu lewego prowadzi do fragmentu podrzędnego lub zamiaru. Prawy cel to przełącznik, który włącza lub wyłącza całą stronę.

Przykłady i źródło

  • Działanie separatora
    • Wszystkie strony w sekcji Ustawienia zostały zmodyfikowane, aby używać nowego zachowania separatora.
    • Zachowanie separatora jest zdefiniowane jako ThemeOverlay w sekcji:
      packages/apps/Settings/res/values/styles_preference.xml
  • Zmiana motywu ActionBar
    • Wszystkie strony w Ustawieniach zostały zmodyfikowane, aby używać nowego motywu paska działań.
    • Motyw jest zdefiniowany w Theme.DeviceDefault.Settings
  • Nowy układ preferencji
    • Wiele stron w sekcji Ustawienia korzysta teraz z nowego układu ustawień.
    • Kod znajdziesz w tych miejscach:
      packages/apps/Settings/res/values/styles_preference.xml
  • Widżet nagłówka aplikacji
    • Większość stron z informacjami o aplikacji w Ustawieniach już korzysta z nowego nagłówka aplikacji.
    • Przykłady i kod znajdziesz tutaj:
      packages/apps/Settings/src/com/android/settings/applications/AppHeaderController.java
  • Przycisk rozwijania
    • Przykłady i kod znajdziesz tutaj:
      packages/apps/Settings/src/com/android/settings/dashboard/ProgressiveDisclosureMixin.java

      Uwaga: ten komponent musi być używany razem z DashboardFragment. (więcej informacji o komponencie DashboardFragment znajdziesz w artykule o zaktualizowanej architekturze informacji).

  • Wybieranie domyślnej aplikacji
    • Kod klasy bazowej znajdziesz tutaj:
      packages/apps/Settings/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java
    • Istnieje kilka podklas DefaultAppPickerFragment, z których każda implementuje selektor dla innego zamiaru.
  • Ustawienie stylu MasterSwitch
    • Kod znajduje się pod adresem: https://cs.android.com/android/platform/superproject/main/+/main:packages/apps/Settings/src/com/android/settings/wifi/WifiPrimarySwitchPreferenceController.java
    • Przykładem zastosowania jest przełącznik główny Wi-Fi. Przykład znajdziesz tutaj: packages/apps/Settings/src/com/android/settings/wifi/WifiMasterSwitchPreferenceController.java

Implementacja

Producenci urządzeń mogą od razu korzystać ze wszystkich nowych komponentów. Jeśli OEM zdecyduje się wdrożyć nowy styl preferencji „MasterSwitch” lub domyślny selektor aplikacji, powinien postępować zgodnie z przykładami w tym dokumencie oraz plikami referencyjnymi (Javadoc) napisanymi dla każdego komponentu.

Dostosowywanie menu ustawień

  • Działanie separatora. Aby zmienić sposób wyświetlania linii oddzielającej, zaktualizuj styl linii oddzielającej w ustawieniach i zmień wartość tych parametrów:
    • allowDividerAbove
    • allowDividerBelow
    • allowDividerAfterLastItem
  • Kolor motywu ActionBar. Aktywności powinny mieć motyw Theme.DeviceDefault.Settings lub niestandardowy motyw z elementem nadrzędnym Theme.DeviceDefault.Settings.
  • Widżet nagłówka aplikacji. Użyj setterów w AppHeaderController, aby dostosować poszczególne pola, a potem wywołaj build(), gdy wszystkie pola zostaną ustawione.
  • Przycisk Rozwiń:
    • Aby całkowicie wyłączyć tę funkcję, zastąpij konstruktor klasy ProgressiveDisclosureMixin i ustaw wartość keepExpanded na true.
    • Aby dostosować liczbę elementów wyświetlanych na początku, wywołaj metodę ProgressiveDisclosureMixin.setTileLimit() w metodzie onAttach(Context) fragmentu.