Einstellung
Letzte Aktualisierung | Stabile Version | Releasekandidat | Beta-Ausgabe | Alpha-Release |
---|---|---|---|---|
26. Juli 2023 | 1.2.1 | - | – | - |
Abhängigkeiten deklarieren
Um eine Abhängigkeit von der Einstellung hinzuzufügen, müssen Sie das Maven-Repository von Google zu Ihrem Projekt arbeiten. Maven-Repository von Google lesen .
Fügen Sie der Datei build.gradle
die Abhängigkeiten für die Artefakte hinzu, die Sie benötigen
Ihre App oder Ihr Modul:
Cool
dependencies { def preference_version = "1.2.1" // Java language implementation implementation "androidx.preference:preference:$preference_version" // Kotlin implementation "androidx.preference:preference-ktx:$preference_version" }
Kotlin
dependencies { val preference_version = "1.2.1" // Java language implementation implementation("androidx.preference:preference:$preference_version") // Kotlin implementation("androidx.preference:preference-ktx:$preference_version") }
Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.
Feedback
Dein Feedback hilft uns, Jetpack zu verbessern. Teilen Sie uns mit, wenn Sie neue Ausgaben entdecken oder zur Verbesserung dieser Bibliothek. In der bestehende Probleme in dieser Bibliothek, bevor Sie eine neue erstellen. So können Sie für ein vorhandenes Problem abstimmen: indem Sie auf die Sternschaltfläche klicken.
Weitere Informationen finden Sie in der Dokumentation zur Problemverfolgung. .
Version 1.2
Version 1.2.1
26. Juli 2023
androidx.preference:preference:1.2.1
wurde veröffentlicht. Version 1.2.1 enthält diese Commits.
Fehlerkorrekturen
PreferenceHeaderFragmentCompat
verarbeitet die Schaltfläche „Zurück“ jetzt korrekt, wenn sie in einemComponentDialog
verwendet wird oder wenn Bibliotheken wie@AndroidEntryPoint
von Hilt verwendet werden, die dieContext
des Fragments zusammenfassen.- Die Einstellung richtet sich jetzt nach Aktivität 1.5.1. (IE5d22)
PreferenceHeaderFragmentCompat.onCreateInitialDetailFragment
gibt jetztheader.extras
alsFragment
-Argumente weiter.
Version 1.2.0
26. Januar 2022
androidx.preference:preference:1.2.0
und androidx.preference:preference-ktx:1.2.0
wurden veröffentlicht. Version 1.2.0 enthält diese Commits.
Wichtige Änderungen seit Version 1.1.0
- Es wurde
PreferenceHeaderFragmentCompat
für die Zweifenstereinstellung hinzugefügt, die sich automatisch an die Größe des verwendeten Geräts anpasst und somit für Smartphones, faltbare Geräte und Tablets geeignet ist. Der Headerbereich wird bereitgestellt, indem die MethodeonCreatePreferenceHeader()
fürPreferenceHeaderFragmentCompat
überschrieben wird. Jedes<Preference>
im HeaderPreferenceFragmentCompat
, dasapp:fragment
verwendet, führt dazu, dass dieses Fragment im zweiten Detailbereich erscheint. Das anfängliche Detailfragment, das angezeigt werden soll, bevor eine Einstellung manuell ausgewählt wird, kann durch Überschreiben vononCreateInitialDetailFragment()
angepasst werden. Bei der Standardimplementierung wird die erste Einstellung zurückgegeben, für die ein Fragment definiert ist.
class TwoPanePreference : PreferenceHeaderFragmentCompat() {
override fun onCreatePreferenceHeader(): PreferenceFragmentCompat {
return PreferenceHeader()
}
}
Anmerkungen zur Null-Zulässigkeit wurden vielen APIs, in denen zuvor weder
@NonNull
noch@Nullable
. Wenn die von Ihnen in Ihrem Kotlin-Code ausgewählte Null-Zulässigkeit nicht mit der jetzt definierten Null-Zulässigkeit übereinstimmt, kann dies zu einer funktionsgefährdenden Änderung für die Kotlin-Quelle führen.PreferenceFragmentCompat
sucht jetzt nach Implementierungen derOnPreferenceStartFragmentCallback
-,OnNavigateToScreenListener
- undOnDisplayPreferenceDialogListener
-Schnittstelle für übergeordnete Fragmente und prüft dann, ob der Hostingkontext oder die Aktivität diese Schnittstellen implementiert.
Version 1.2.0-rc01
15. Dezember 2021
androidx.preference:preference:1.2.0-rc01
und androidx.preference:preference-ktx:1.2.0-rc01
wurden ohne Änderungen seit dem 1.2.0-beta01
veröffentlicht. Version 1.2.0-rc01 enthält diese Commits.
Version 1.2.0-beta01
17. November 2021
androidx.preference:preference:1.2.0-beta01
und androidx.preference:preference-ktx:1.2.0-beta01
werden ohne Änderungen gegenüber Präferenz 1.2.0-alpha02 veröffentlicht. Version 1.2.0-beta01 enthält diese Commits.
Version 1.2.0-alpha02
3. November 2021
androidx.preference:preference:1.2.0-alpha02
und androidx.preference:preference-ktx:1.2.0-alpha02
wurden veröffentlicht. Version 1.2.0-alpha02 enthält diese Commits.
API-Änderungen
- Anmerkungen zur Null-Zulässigkeit wurden vielen
APIs, in denen zuvor weder
@NonNull
noch@Nullable
. (I04252, Ie2cc0) - Die
openPreference()
API wurde entfernt ausPreferenceHeaderFragmentCompat
– diese Methode ist und sollte nicht manuell aufgerufen werden. (Ia6989)
Änderungen im Verhalten
- PreferenceFragmentCompat-Callbacks für
OnNavigateToScreenListener
undOnDisplayPreferenceDialogListener
folgen jetzt dem gleiches Muster wieOnPreferenceTreeClickListener
und die übergeordnete Fragmenthierarchie nach gültigen bevor sie die Hörer schauen, Context oder Activity implementiert diese Schnittstellen. (I7ae6c)
Version 1.2.0-alpha01
27. Oktober 2021
androidx.preference:preference:1.2.0-alpha01
und androidx.preference:preference-ktx:1.2.0-alpha01
wurden veröffentlicht. Version 1.2.0-alpha01 enthält diese Commits.
Neue Funktionen
PreferenceHeaderFragmentCompat
für Einstellung mit zwei Fenstern hinzugefügt (I9a2d8)
Änderungen im Verhalten
Präferenz-Callbacks für OnPreferenceDisplayDialogCallback, OnPreferenceStartScreenCallback und OnPreferenceStartFragmentCallback können jetzt in einem Nicht-Activity-Kontext implementiert werden. getContext() wird überprüft, um zu sehen, ob diese Callbacks implementiert sind, bevor getActivity() überprüft wird. Wenn getContext() im üblichen Fall eine Aktivität zurückgibt, gibt es keine Verhaltensänderung.
PreferenceFragmentCompat
s Aufruf vononPreferenceTreeClick
sucht jetzt nach Implementierungen derOnPreferenceStartFragmentCallback
-Schnittstelle für übergeordnete Fragmente, bevor die Implementierung der Aktivität in Betracht gezogen wird. (c64eed)
Version 1.1
Version 1.1.1
15. April 2020
androidx.preference:preference:1.1.1
und androidx.preference:preference-ktx:1.1.1
wurden veröffentlicht. Version 1.1.1 enthält diese Commits.
Fehlerkorrekturen
PreferenceDialogFragmentCompat
löst keinen Fehler mehr ausIllegalStateException
beim Aufblähen einesFragmentContainerView
aus XML. (b/150051716)
Aktualisierung der Abhängigkeiten
- Die Präferenz hängt jetzt von Fragment
1.2.4
ab. (aosp/1277317) - Die
preference-ktx
-Abhängigkeit hängt jetzt vonandroidx.core:core-ktx:1.1.0
undandroidx.fragment:fragment-ktx:1.2.4
ab. Sie spiegelt die Abhängigkeiten despreference
-Hauptartefakts wider und sorgt dafür, dass beim Upgrade vonpreference-ktx
sowohl die Haupt- als auch die-ktx
-Artefakte der transitiven Abhängigkeiten aktualisiert werden. (aosp/1277319)
Version 1.1.0
5. September 2019
androidx.preference:preference:1.1.0
und androidx.preference:preference-ktx:1.1.0
wurden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
Wenn dies die erste 1.1.*
-Version ist, auf die du ein Update führst, findest du hier eine kurze Liste mit größeren Änderungen seit der letzten stabilen Version, 1.0.0
. Der Leitfaden zu Einstellungen, die Beispiel-App und der Vortrag vom Android Dev Summit könnten ebenfalls hilfreich sein.
Wichtige Änderungen seit Version 1.0.0
PreferenceFragment
und andere Klassen, die Framework-Fragmente verwenden, wurden eingestellt. Sie sollten stattdessenPreferenceFragmentCompat
und andere *kompatible Klassen verwenden.- Sie können jetzt eine
SummaryProvider
in einer Einstellung festlegen, um ihre Zusammenfassung dynamisch zu konfigurieren, wenn die Einstellung aktualisiert wird oder für den Nutzer sichtbar wird. Weitere Informationen finden Sie im Leitfaden. EditTextPreference.OnBindEditTextListener
-Oberfläche wurde hinzugefügt. So können Sie dasEditText
anpassen, das nach dem Binden des Dialogfelds im entsprechenden Dialogfeld angezeigt wird. Dies ist ein direkter Ersatz für die Verwendung von Attributen wieandroid:inputType
direkt aufEditTextPreference
, was in der AndroidX-Bibliothek nicht unterstützt wird. Weitere Informationen finden Sie im Leitfaden.Preference.setCopyingEnabled()
wurde hinzugefügt. Wenn du lange auf die Einstellung drückst, wird ein Kontextmenü angezeigt, über das du die Zusammenfassung der Einstellung kopieren kannst.SeekBarPreference
-Stil wurde aktualisiert, um den Materialspezifikationen zu entsprechen. Weitere Änderungen anSeekBarPreference
finden Sie im detaillierten Änderungsprotokoll.- Zahlreiche Fehlerkorrekturen, Stilaktualisierungen, Kompatibilitätskorrekturen auf API-Ebene und allgemeine Verbesserungen der Qualitätsstufe
Version 1.1.0-rc01
2. Juli 2019
androidx.preference:preference:1.1.0-rc01
und androidx.preference:preference-ktx:1.1.0-rc01
wurden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
API-Änderungen
Preference#onInitializeAccessibilityNodeInfo
einstellen- Diese Methode hat Informationen zum Barrierefreiheitsknoten für eine bestimmte Einstellung weitergeleitet. Dies ist jedoch die falsche Ebene für diese Anpassung. Wenn Sie Informationen zur Barrierefreiheit anpassen möchten, sollten Sie stattdessen onBindViewHolder überschreiben und Informationen zur Barrierefreiheit direkt zur Ansicht hinzufügen.
Version 1.1.0-beta01
5. Juni 2019
androidx.preference:preference:1.1.0-beta01
und androidx.preference:preference-ktx:1.1.0-beta01
wurden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
Wichtige Änderungen seit Version 1.1.0
Wenn dies die erste 1.1.*-Version ist, auf die Sie aktualisieren, finden Sie hier eine kurze Liste mit größeren Änderungen seit der letzten stabilen Version 1.1.0. Der Leitfaden zu Einstellungen, die Beispiel-App und der Vortrag vom Android Dev Summit könnten ebenfalls hilfreich sein.
- PreferenceFragment und andere Klassen, die Framework-Fragmente verwenden, wurden eingestellt. Sie sollten stattdessen PreferenceFragmentCompat und andere *compat-Klassen verwenden.
- Sie können jetzt einen SummaryProvider für eine Einstellung festlegen, um deren Zusammenfassung dynamisch zu konfigurieren, wenn die Präferenz aktualisiert wird oder für den Nutzer sichtbar wird. Weitere Informationen finden Sie im Leitfaden.
EditTextPreference.OnBindEditTextListener
-Oberfläche wurde hinzugefügt. So können Sie den EditText anpassen, der nach der Bindung des Dialogfelds im entsprechenden Dialogfeld angezeigt wird. Dies ist ein direkter Ersatz für die Verwendung von Attributen wie android:inputType direkt in EditTextPreference, der in der AndroidX-Bibliothek nicht unterstützt wird. Weitere Informationen finden Sie im Leitfaden.Preference.setCopyingEnabled()
wurde hinzugefügt. Wenn du lange auf die Einstellung drückst, wird ein Kontextmenü angezeigt, über das du die Zusammenfassung der Einstellung kopieren kannst.- Der Stil von SeekBarPreference wurde so aktualisiert, dass er den Materialspezifikationen entspricht. Weitere Änderungen an SeekBarPreference finden Sie im detaillierten Änderungsprotokoll.
- Zahlreiche Fehlerkorrekturen, Stilaktualisierungen, Kompatibilitätskorrekturen auf API-Ebene und allgemeine Verbesserungen der Qualitätsstufe
API-Änderungen seit 1.1.0-alpha05
- Entfernt getOnBindEditTextListener aus der öffentlichen API. Sie müssen bei der Interaktion mit dieser API nur setOnBindEditTextListener verwenden.
Hier kannst du Fehler melden, wenn Probleme auftreten oder du Vorschläge für neue Funktionen hast.
Version 1.1.0-alpha05
7. Mai 2019
androidx.preference:preference:1.1.0-alpha05
und androidx.preference:preference-ktx:1.1.0-alpha05
wurden veröffentlicht. Die in dieser Version enthaltenen Commits finden Sie hier.
Neue Funktionen
- Der Stil für nicht auswählbare Einstellungen wurde aktualisiert: Titel und Zusammenfassung haben jetzt die gleiche Farbe, um zu verdeutlichen, dass keine Interaktion möglich ist. Sie werden nur zur Anzeige von Informationen verwendet.
- Hinweis: Wenn du
enableCopying="true"
zu deinen nicht auswählbaren Einstellungen hinzufügen möchtest, kannst du die Zusammenfassung durch langes Drücken kopieren.
Fehlerkorrekturen
- Es wurde ein Fehler behoben, bei dem die Auswahl von „PreferenceCategory“ und anderen nicht auswählbaren Einstellungen einen Welleneffekt aufwies.
- Es wurde ein Problem mit den Bedienungshilfen behoben, bei dem DropDownPreference nicht als anklickbar erkannt wurde.
- Einige Probleme mit dem RTL-Layout wurden behoben.
- Einige Annotationen, für die Nullwerte zulässig sind, wurden in PreferenceFragmentCompat aktualisiert, damit sie zu Fragment passen
Version 1.1.0-alpha04
13. März 2019
androidx.preference:preference:1.1.0-alpha04
und androidx.preference:preference-ktx:1.1.0-alpha04
wurden veröffentlicht. Die vollständige Liste der in dieser Version enthaltenen Commits finden Sie hier.
Neue Funktionen
Das Update zu SeekBarPreference
!
- Stil entsprechend den Materialspezifikationen aktualisiert
<ph type="x-smartling-placeholder">
- </ph>
- Das Wertelabel ist jetzt standardmäßig ausgeblendet, kann aber weiterhin mit
app:showSeekBarValue="true"
odersetShowSeekBarValue(true)
angezeigt werden. Dieses Label ist nicht Teil der Materialspezifikation, aber uns ist bewusst, dass es häufig verwendet wird. Daher unterstützen wir es weiterhin – auch wenn wir nicht empfehlen, es zu verwenden. - Das Wertlabel wird jetzt aktualisiert, während die SeekBar gezogen wird, und nicht beim Loslassen. Dies bedeutet nicht, dass der Wert intern aktualisiert wird. Unten finden Sie eine neue API, mit der diese Funktion aktiviert wird.
- Hinweis: Obwohl es unterstützt wird, sollten Sie in einer SeekBarPreference keine Zusammenfassung festlegen, da dies nicht beabsichtigt und nicht Teil der Material-Spezifikation ist.
- Das Wertelabel ist jetzt standardmäßig ausgeblendet, kann aber weiterhin mit
- Unterstützung für kontinuierliche Updates, sodass die SeekBar ihren gespeicherten Wert aktualisieren kann, während die SeekBar gezogen wird. Dies kann über XML oder programmatisch mit
app:updatesContinuously="true"
odersetUpdatesContinuously(true)
aktiviert werden. Sie wird immer dann ausgelöst, wenn sich die Position der SeekBar auf dem Bildschirm ändert.
API-Änderungen
- Fügt fehlende Anmerkungen zur Null-Zulässigkeit zu
findPreference()
hinzu
Fehlerkorrekturen
- Ein Fehler wurde behoben, bei dem Kontextmenü-Listener nicht korrekt entfernt wurden, wenn das Kopieren nicht aktiviert war.
Version 1.1.0-alpha03
7. Februar 2019
androidx.preference:preference 1.1.0-alpha03
androidx.preference:preference 1.1.0-alpha03
und
androidx.preference:preference-ktx 1.1.0-alpha03
werden mit der
nach den Änderungen.
Fehlerkorrekturen
- Es wurde ein Problem behoben, bei dem das Pop-up zum Kopieren und Einfügen im Dialogfeld von EditTextPreference manchmal nicht angezeigt wurde.
- Es wurde ein Problem behoben, bei dem der zugrunde liegende Adapter nicht ordnungsgemäß abgemeldet wurde, was unter bestimmten Bedingungen zu Speicherlecks führte (b/121006469).
- Einige Abstürze im Zusammenhang mit Dialogfeldern, die während der Konfigurationsänderung aufgetreten sind, wurden behoben (b/122167543).
- Problem behoben, bei dem SummaryProvider für MultiSelectListPreference nicht funktioniert (b/123022772)
Version 1.1.0-alpha02
17. Dezember 2018
In der vor Kurzem aktualisierte Einstellungen und Beispiel App.
Neue Funktionen
EditTextPreference.OnBindEditTextListener
-Oberfläche hinzugefügt So können Sie den im entsprechenden Text angezeigten EditText anpassen nachdem der Dialog gebunden wurde. Beispielsweise kann das Festlegen eines benutzerdefinierten Längen- und Eingabetyp oder TextWatcher hinzufügen.„
Preference.setCopyingEnabled()
“ wurde hinzugefügt Wenn die Einstellung festgelegt ist, wird durch langes Gedrückthalten der Einstellung ein Kontextmenü angezeigt, über das du die Zusammenfassung der Einstellung kopieren kannst. Damit kann das Kopieren statischer Informationen wie nutzerspezifischer IDs oder Informationen zur Anwendungsversion ermöglicht werden.Das „preferencesTheme“ wird jetzt auf das Aktivitätsdesign angewendet. Das bedeutet, dass Sie beim Erstellen einer Präferenz aus Code nicht mehr den Kontext aus
PreferenceManager#getContext()
verwenden müssen, sondern einfach Ihren Fragment-/Aktivitätskontext verwenden können.
API-Änderungen
findPreference()
wurde so umgestaltet, dass<T extends Preference>
zurückgegeben wird Das bedeutet, dass Sie Einstellungen nicht explizit übertragen müssen, wenn Sie findPreference() verwenden. Beispiel:EditTextPreference preference = findPreference(“edit_text”)
ist jetzt ein gültiger Code.
Version 1.1.0-alpha01
5. November 2018
Neue Funktionen
- Sie können jetzt einen SummaryProvider für eine Präferenz festlegen, um seine Zusammenfassung, wenn die Einstellung aktualisiert wird oder für den Nutzer sichtbar wird.
- Es wurden Standard-SummaryProvider-Implementierungen für ListPreference und EditTextPreference, bei dem die Zusammenfassung der Vorzugsweise der gespeicherten Wert oder „Nicht festgelegt“, wenn kein Wert gespeichert wurde. Diese können mit app:useSimpleSummaryProvider="true" festgelegt werden
- PreferenceGroup#removePreferenceRecursically wurde hinzugefügt, das rekursiv sucht und entfernt eine Einstellung aus der Gruppe oder eine verschachtelte Gruppe weiter unten in der Hierarchie.
API-Änderungen
- PreferenceFragment und andere Klassen, die Framework-Fragmente verwenden, wurden Verworfen – Sie sollten PreferenceFragmentCompat und andere Compat-Klassen verwenden .
Fehlerkorrekturen
- Ein Problem wurde behoben, durch das „iconSpaceReserviert“ nicht richtig mit PreferenceCategories funktionierte.
- Problem behoben, bei dem in PreferenceCategories die Farbe des Titels nicht verwendet wurde API 21 herunter.
- Einige Inkonsistenzen beim SeekBarPreference-Layout unter API 21 wurden behoben.