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 des Preference darstellt.

Beispiel:app:title="Title"

summary

Ein String-Wert, der die Zusammenfassung Preference darstellt.

Beispiel:app:summary="Summary"

icon

Ein Drawable, das das Symbol Preference darstellt.

Beispiel:app:icon="@drawable/ic_camera"

key

Ein String-Wert, der den Schlüssel darstellt, mit dem der Wert für das verknüpfte Preference beibehalten wird. Mit einem Schlüssel können Sie Preference während der Laufzeit weiter anpassen. Sie sollten für jede Preference 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 Wert false ist, wird Preference ausgegraut dargestellt und Nutzer können nicht damit interagieren. Der Standardwert ist true.

Beispiel:app:enabled="false"

selectable

Ein boolescher Wert, der angibt, ob Nutzer mit Preference interagieren können. Der Standardwert ist true.

Beispiel:app:selectable="false"

isPreferenceVisible

Ein boolescher Wert, der angibt, ob die Kategorie Preference oder Preference sichtbar ist. Dies entspricht dem Aufrufen von setVisible().

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 diese Preference gefunden wird. Der Werttyp hängt vom zugehörigen Preference ab.

Beispiel:app:defaultValue="true"

dependency

Stellt den Schlüssel eines SwitchPreferenceCompat dar, der den Status dieses Preference steuert. Wenn der entsprechende Schalter deaktiviert ist, ist dieser Preference 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 in PreferenceGroup 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 Wert Integer.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"