Komponenty i atrybuty preferencji Część stanowiąca część Androida Jetpack.

W tym artykule omawiamy niektóre z najczęściej używanych komponentów i atrybutów Preference podczas tworzenia ekranu ustawień.

Komponenty preferencji

W tej sekcji opisujemy typowe komponenty Preference. Więcej informacji znajdziesz na odpowiednich stronach referencyjnych dotyczących poszczególnych komponentów.

Infrastruktura preferencji

PreferenceFragmentCompatFragment, który obsługuje wyświetlanie interaktywnej hierarchii Preference obiektów.

Kontenery preferencji

PreferenceScreen – kontener najwyższego poziomu, który reprezentuje ekran ustawień. Jest to główny komponent hierarchii Preference.

PreferenceCategory – kontener służący do grupowania podobnych elementów Preferences. Element PreferenceCategory wyświetla tytuł kategorii i graficznie oddziela grupy Preferences.

Preferencje indywidualne

Preference – podstawowy element składowy danego ustawienia. Jeśli zasada Preference jest skonfigurowana jako trwała, ma odpowiednią parę klucz-wartość, która określa wybór użytkownika dotyczący ustawienia, do którego dostęp można uzyskać w innym miejscu aplikacji.

EditTextPreferencePreference, który pozostaje wartością String. Użytkownicy mogą kliknąć Preference, aby otworzyć okno zawierające pole tekstowe, w którym można zmienić trwałą wartość.

ListPreference – adres Preference, który zawiera wartość ciągu znaków. Użytkownicy mogą zmienić tę wartość w oknie zawierającym listę przycisków z odpowiednimi etykietami.

MultiSelectListPreferencePreference, który utrzymuje się w zestawie ciągów znaków. Użytkownicy mogą zmienić te wartości w oknie zawierającym listę pól wyboru z odpowiadającymi im etykietami.

SeekBarPreferencePreference, który pozostaje liczbą całkowitą. Możesz ją zmienić, przeciągając odpowiedni pasek przewijania widoczny w układzie Preference.

SwitchPreferenceCompatPreference, który pozostaje wartością logiczną. Tę wartość możesz zmienić, klikając odpowiedni widżet przełącznika lub klikając układ Preference.

CheckBoxPreferencePreference, który pozostaje wartością logiczną. Tę wartość możesz zmienić, klikając odpowiednie pole wyboru lub klikając układ Preference.

Atrybuty ustawień

Poniżej znajdziesz najczęściej używane atrybuty do konfigurowania wyglądu i działania Preference.

Atrybuty ogólne

title

Wartość String reprezentująca tytuł elementu Preference.

Przykład: app:title="Title"

summary

Wartość String reprezentująca podsumowanie Preference.

Przykład: app:summary="Summary"

icon

Element Drawable reprezentujący ikonę Preference.

Przykład: app:icon="@drawable/ic_camera"

key

Wartość String reprezentująca klucz używany do utrzymania wartości powiązanej wartości Preference. Klucz umożliwia dodatkowe dostosowanie obiektu Preference w czasie działania. Ustaw klucz dla każdego elementu Preference w hierarchii.

Przykład: app:key="key"

enabled

Wartość logiczna wskazująca, czy użytkownicy mogą korzystać z interfejsu Preference. Gdy ta wartość ma wartość false, element Preference jest wyszarzony i użytkownicy nie mogą z niej korzystać. Wartością domyślną jest true.

Przykład: app:enabled="false"

selectable

Wartość logiczna wskazująca, czy użytkownicy mogą korzystać z interfejsu Preference. Wartością domyślną jest true.

Przykład: app:selectable="false"

isPreferenceVisible

Wartość logiczna wskazująca, czy kategoria Preference czy Preference jest widoczna. Jest to równoważne wywołaniu funkcji setVisible().

Przykład: app:isPreferenceVisible="false"

defaultValue

Reprezentuje wartość domyślną elementu Preference. Ta wartość jest ustawiona i utrzymywana, gdy nie znaleziono żadnej innej trwałej wartości dla tego parametru Preference. Typ wartości zależy od powiązanej wartości Preference.

Przykład: app:defaultValue="true"

dependency

Reprezentuje klucz SwitchPreferenceCompat, który kontroluje stan obiektu Preference. Gdy odpowiedni przełącznik jest wyłączony, ten Preference jest wyłączony i nie można go zmienić.

Przykład: app:dependency="parent"

Atrybuty PreferenceCategory

initialExpandedChildrenCount

Wartość całkowita, która umożliwia działanie rozwijanych elementów Preference. Ta wartość reprezentuje maksymalną liczbę elementów podrzędnych do wyświetlenia w: PreferenceGroup. Wszystkie dodatkowe elementy podrzędne są zwinięte i można je wyświetlić, klikając przycisk rozwijania. Domyślnie ta wartość wynosi Integer.MAX_VALUE i są widoczne wszystkie elementy podrzędne.

Ostrzeżenie: jeśli używasz tego atrybutu, ustaw klucz w PreferenceCategory, aby zapewnić prawidłowe zapisywanie i przywracanie stanu po zmianie konfiguracji (np. podczas obracania ekranu).

Przykład: app:initialExpandedChildrenCount="0"

Atrybuty ListPreference / MultiSelectListPreference

entries

Tablica ciągów znaków odpowiadająca wpisom na liście, które mają być wyświetlane użytkownikowi. Każda z tych wartości odpowiada indeksowi tablicy wartości, które są przechowywane wewnętrznie. Jeśli na przykład użytkownik wybierze pierwszą pozycję na liście, zostanie zachowany pierwszy element w odpowiedniej tablicy wartości.

Przykład: app:entries="@array/entries"

Ostrzeżenie: upewnij się, że długość obu tablic jest taka sama, a indeksy każdej tablicy są zgodne z prawidłową parą wpis / wartość.

entryValues

Tablica wpisów do utrwalenia. Każda z tych wartości odpowiada indeksowi tablicy wpisów na liście wyświetlanych użytkownikowi.

Przykład: app:entryValues="@array/values"