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

PreferenceFragmentCompat – Fragment, 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.

EditTextPreference – Preference, 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.

MultiSelectListPreference – Preference, 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.

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

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

CheckBoxPreference – Preference, 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"