Präferenzkomponenten und -attribute Teil von Android Jetpack
In diesem Thema werden einige der am häufigsten verwendeten Preference
-Komponenten und -Attribute beschrieben, die beim Erstellen eines Einstellungsbildschirms verwendet werden.
Präferenzkomponenten
In diesem Abschnitt werden gängige Preference
-Komponenten beschrieben. Weitere Informationen finden Sie auf den entsprechenden Referenzseiten der einzelnen Komponenten.
Infrastruktur der Präferenz
PreferenceFragmentCompat
: ein Fragment
, der die Anzeige einer interaktiven Hierarchie von Preference
-Objekten verwaltet.
Container für Einstellungen
PreferenceScreen
: Ein Container auf oberster Ebene, der einen Einstellungsbildschirm darstellt. Dies ist die Stammkomponente Ihrer Preference
-Hierarchie.
PreferenceCategory
: Ein Container, der zum Gruppieren ähnlicher Preferences
verwendet wird. PreferenceCategory
zeigt einen Kategorietitel an und trennt Gruppen von Preferences
visuell.
Individuelle Präferenzen
Preference
: der grundlegende Baustein, der eine einzelne Einstellung darstellt. Wenn für ein Preference
die Option „Dauerhaft“ festgelegt ist, hat es ein entsprechendes Schlüssel/Wert-Paar, das die Entscheidung des Nutzers für die Einstellung enthält, auf die an anderer Stelle in der Anwendung zugegriffen werden kann.
EditTextPreference
: ein Preference
, der einen String
-Wert beibehält. Nutzer können auf Preference
tippen, um ein Dialogfeld mit dem Textfeld zu öffnen, in dem sie den beibehaltenen Wert ändern können.
ListPreference
: Preference
, der einen Stringwert beibehält. Nutzer können diesen Wert in einem Dialogfeld ändern, das eine Liste von Optionsfeldern mit den entsprechenden Labels enthält.
MultiSelectListPreference
: ein Preference
, der einen Satz von Strings beibehält. Nutzer können diese Werte in einem Dialogfeld ändern, das eine Liste von Kästchen mit entsprechenden Labels enthält.
SeekBarPreference
: Preference
, der eine Ganzzahl beibehält. Dieser Wert kann durch Ziehen einer entsprechenden Suchleiste geändert werden, die im Preference
-Layout angezeigt wird.
SwitchPreferenceCompat
: ein Preference
, der einen booleschen Wert beibehält. Sie können diesen Wert ändern, indem Sie mit dem entsprechenden Schalter-Widget interagieren oder auf das Layout Preference
tippen.
CheckBoxPreference
: ein Preference
, der einen booleschen Wert beibehält. Dieser Wert kann durch Interaktion mit dem entsprechenden Kästchen oder durch Tippen auf das Layout Preference
geändert werden.
Einstellungsattribute
Nachfolgend finden Sie einige der am häufigsten verwendeten Attribute, mit denen Darstellung und Verhalten von Preference
konfiguriert werden.
Allgemeine Attribute
-
title
-
Ein
String
-Wert, der den Titel desPreference
darstellt.Beispiel:
app:title="Title"
-
summary
-
Ein
String
-Wert, der die ZusammenfassungPreference
darstellt.Beispiel:
app:summary="Summary"
-
icon
-
Ein
Drawable
, das das SymbolPreference
darstellt.Beispiel:
app:icon="@drawable/ic_camera"
-
key
-
Ein
String
-Wert, der den Schlüssel darstellt, mit dem der Wert für das verknüpftePreference
beibehalten wird. Mit einem Schlüssel können SiePreference
während der Laufzeit weiter anpassen. Sie sollten für jedePreference
in Ihrer Hierarchie einen Schlüssel festlegen.Beispiel:
app:key="key"
-
enabled
-
Ein boolescher Wert, der angibt, ob Nutzer mit
Preference
interagieren können. Wenn dieser Wertfalse
ist, wirdPreference
ausgegraut dargestellt und Nutzer können nicht damit interagieren. Der Standardwert isttrue
.Beispiel:
app:enabled="false"
-
selectable
-
Ein boolescher Wert, der angibt, ob Nutzer mit
Preference
interagieren können. Der Standardwert isttrue
.Beispiel:
app:selectable="false"
-
isPreferenceVisible
-
Ein boolescher Wert, der angibt, ob die Kategorie
Preference
oderPreference
sichtbar ist. Dies entspricht dem Aufrufen vonsetVisible()
.Beispiel:
app:isPreferenceVisible="false"
-
defaultValue
-
Stellt den Standardwert für einen
Preference
dar. Dieser Wert wird festgelegt und beibehalten, wenn kein anderer dauerhafter Wert für diesePreference
gefunden wird. Der Werttyp hängt vom zugehörigenPreference
ab.Beispiel:
app:defaultValue="true"
-
dependency
-
Stellt den Schlüssel eines
SwitchPreferenceCompat
dar, der den Status diesesPreference
steuert. Wenn der entsprechende Schalter deaktiviert ist, ist dieserPreference
deaktiviert und kann nicht geändert werden.Beispiel:
app:dependency="parent"
PreferredCategory-Attribute
-
initialExpandedChildrenCount
-
Ein Ganzzahlwert, der das maximierbare
Preference
-Verhalten ermöglicht. Dieser Wert stellt die maximale Anzahl von untergeordneten Elementen dar, die inPreferenceGroup
angezeigt werden sollen. Alle zusätzlichen untergeordneten Elemente werden minimiert und können durch Tippen auf die Schaltfläche „Maximieren“ angezeigt werden. Standardmäßig lautet dieser WertInteger.MAX_VALUE
und alle untergeordneten Elemente werden angezeigt.Warnung:Legen Sie einen Schlüssel für
PreferenceCategory
fest, wenn Sie dieses Attribut verwenden, damit der Status korrekt gespeichert und wiederhergestellt wird, wenn sich die Konfiguration ändert (z. B. beim Drehen des Bildschirms).Beispiel:
app:initialExpandedChildrenCount="0"
ListPräferenz-/MultiSelectListPriority-Attribute
-
entries
-
Ein String-Array, das den Listeneinträgen entspricht, die dem Nutzer angezeigt werden sollen. Jeder dieser Werte entspricht dem Index des Arrays der Werte, die intern beibehalten werden. Wenn ein Nutzer beispielsweise den ersten Listeneintrag auswählt, wird das erste Element im entsprechenden Wertearray beibehalten.
Beispiel:
app:entries="@array/entries"
Warnung:Achten Sie darauf, dass die Länge beider Arrays gleich ist und die Indexe jedes Arrays dem richtigen Eintrag / Wert-Paar entsprechen.
-
entryValues
-
Das Array der Einträge, die beibehalten werden sollen. Jeder dieser Werte entspricht dem Index des Arrays der Listeneinträge, die dem Nutzer angezeigt werden.
Beispiel:
app:entryValues="@array/values"