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ł elementuPreference
.Przykład:
app:title="Title"
-
summary
-
Wartość
String
reprezentująca podsumowaniePreference
.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ściPreference
. Klucz umożliwia dodatkowe dostosowanie obiektuPreference
w czasie działania. Ustaw klucz dla każdego elementuPreference
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
, elementPreference
jest wyszarzony i użytkownicy nie mogą z niej korzystać. Wartością domyślną jesttrue
.Przykład:
app:enabled="false"
-
selectable
-
Wartość logiczna wskazująca, czy użytkownicy mogą korzystać z interfejsu
Preference
. Wartością domyślną jesttrue
.Przykład:
app:selectable="false"
-
isPreferenceVisible
-
Wartość logiczna wskazująca, czy kategoria
Preference
czyPreference
jest widoczna. Jest to równoważne wywołaniu funkcjisetVisible()
.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 parametruPreference
. Typ wartości zależy od powiązanej wartościPreference
.Przykład:
app:defaultValue="true"
-
dependency
-
Reprezentuje klucz
SwitchPreferenceCompat
, który kontroluje stan obiektuPreference
. Gdy odpowiedni przełącznik jest wyłączony, tenPreference
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ść wynosiInteger.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"