Ich versuche ein Settings
Activity
mit einem PreferenceActivity
zu erstellen. Das Problem ist, dass ActionBar
nicht angezeigt wird, egal was ich mache.
Ich habe getSupportActionBar
, getActionBar
, setActionBar
ausprobiert. Nichts funktioniert.
Ich sehe andere Apps-Einstellungen mit ActionBar
s. Verwenden sie nicht PreferenceActivity
?
Wenn Sie ein AppCompat-Thema verwenden, müssen Sie einige Punkte beachten.
Das PreferenceActivity
erweitert nicht das AppCompatActivity
oder das veraltete ActionBarActivity
.
Als Lösung können Sie ein PreferenceFragment
erstellen, während Sie es tun, und es verwenden in einem Standard AppCompatActivity
. Natürlich können Sie auch ein Toolbar
verwenden.
Außerdem können Sie mit der neuen 22.1+ appcompat das AppCompatDelegate verwenden Erweitern Sie die Unterstützung von AppCompat für jede Aktivität.
Sie können diesen offiziellen Link zu AppCompatPreferenceActivity , wo Sie ein Beispiel für diese Technik finden können.
Durch das explizite Festlegen von SettingActivity mit einem von DarkActionBar abgeleiteten Thema können wir die Aktionsleiste wieder hinzufügen.
Ich habe das gleiche getan, um eine Aktionsleiste in meiner Einstellungen-Aktivität zu haben, und es hat für mich funktioniert.
1.Fügen Sie zuerst einen anderen Stil für Ihre Einstellungen Aktivität in styles.xml
hinzu %Vor%2. Erstellen Sie dann eine separate styles.xml für die Version 21 (v21 / styles.xml) wie unten angegeben
%Vor%android: theme="@ style / SettingsTheme"
Dies würde Ihrer Einstellungen-Aktivität in Geräten mit Android-Versionen größer oder gleich 21 eine Aktionsleiste hinzufügen.
Tags und Links java android android-activity android-actionbar android-preferences