Ist die SwitchPreference
in ICS kompatibel in der android-support-v4-Bibliothek? Ich versuche einige alte Projekte zu aktualisieren und möchte SwitchPreferences wenn möglich verwenden.
Ich weiß, dass ich eine separate Ressourcendatei erstellen kann, um die API-Version zu unterscheiden, aber ich möchte das, wenn überhaupt möglich, vermeiden.
Ist die SwitchPreference in der Bibliothek von android-support-v4 in ICS kompatibel?
Nein, tut mir leid.
Allerdings sollte es nicht zu schwierig sein, es zurück zu portieren, wenn es noch nicht jemand getan hat.
Tatsächlich mag das ein wenig mühsam sein, da es auch einen Backport von Switch benötigt und Backporting-Widgets manchmal mühsam sind, da sie häufig package-private Methoden verwenden, auf die Backports nicht zugreifen können.
Ich weiß, dass ich eine separate Ressourcendatei erstellen kann, um die API-Version zu unterscheiden, aber ich möchte das, wenn überhaupt möglich, vermeiden.
Nun, das wäre sicherlich viel einfacher als die Alternativen:
der oben erwähnte Backport
Erstellen Sie eine Art von Alias Preference
-Mechanismus, mit dem Sie SwitchPreference
auf neueren Geräten und CheckBoxPreference
auf älteren Geräten mit nur einer Ressourcendatei verwenden können
android-switch-backport hat eine SwitchPreference, die auf Android 2.1 + funktioniert.
Ich habe jede Lösung ausprobiert, die ich fand, aber keine von ihnen war für meine Bedürfnisse geeignet, also habe ich mein eigenes Widget erstellt, welches ObjectAnimator von nineOld compatibility lib verwendet und auf jeder Android-API funktioniert.
%Vor%}
In XML
%Vor%In der Aktivität / Fragment müssen Sie nur ViewById finden und clickListener darauf setzen, und in OnClick Callback behandeln:
%Vor%Tags und Links android preferenceactivity android-preferences