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 desPreferencedarstellt.Beispiel:
app:title="Title" -
summary -
Ein
String-Wert, der die ZusammenfassungPreferencedarstellt.Beispiel:
app:summary="Summary" -
icon -
Ein
Drawable, das das SymbolPreferencedarstellt.Beispiel:
app:icon="@drawable/ic_camera" -
key -
Ein
String-Wert, der den Schlüssel darstellt, mit dem der Wert für das verknüpftePreferencebeibehalten wird. Mit einem Schlüssel können SiePreferencewährend der Laufzeit weiter anpassen. Sie sollten für jedePreferencein Ihrer Hierarchie einen Schlüssel festlegen.Beispiel:
app:key="key" -
enabled -
Ein boolescher Wert, der angibt, ob Nutzer mit
Preferenceinteragieren können. Wenn dieser Wertfalseist, wirdPreferenceausgegraut dargestellt und Nutzer können nicht damit interagieren. Der Standardwert isttrue.Beispiel:
app:enabled="false" -
selectable -
Ein boolescher Wert, der angibt, ob Nutzer mit
Preferenceinteragieren können. Der Standardwert isttrue.Beispiel:
app:selectable="false" -
isPreferenceVisible -
Ein boolescher Wert, der angibt, ob die Kategorie
PreferenceoderPreferencesichtbar ist. Dies entspricht dem Aufrufen vonsetVisible().Beispiel:
app:isPreferenceVisible="false" -
defaultValue -
Stellt den Standardwert für einen
Preferencedar. Dieser Wert wird festgelegt und beibehalten, wenn kein anderer dauerhafter Wert für diesePreferencegefunden wird. Der Werttyp hängt vom zugehörigenPreferenceab.Beispiel:
app:defaultValue="true" -
dependency -
Stellt den Schlüssel eines
SwitchPreferenceCompatdar, der den Status diesesPreferencesteuert. Wenn der entsprechende Schalter deaktiviert ist, ist dieserPreferencedeaktiviert 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 inPreferenceGroupangezeigt 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_VALUEund alle untergeordneten Elemente werden angezeigt.Warnung:Legen Sie einen Schlüssel für
PreferenceCategoryfest, 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"