Ich habe in meiner Android App eine SettingsActivity. Ursprünglich gab es keine ActionBar, so dass ich implemted dies:Android verschachtelte PreferenceScreen mit ActionBar
settings_toolbar.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
app:navigationContentDescription="@string/abc_action_bar_up_description"
android:background="?attr/colorPrimary"
app:navigationIcon="?attr/homeAsUpIndicator"
app:title="@string/action_settings"
/>
SettingsActivity.java
public class SettingsActivity extends PreferenceActivity {
@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
LinearLayout root = (LinearLayout)findViewById(android.R.id.list).getParent().getParent().getParent();
Toolbar bar = (Toolbar) LayoutInflater.from(this).inflate(R.layout.settings_toolbar, root, false);
root.addView(bar, 0); // insert at top
bar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
}
Es funktioniert super, aber nur für die erste PreferenceScreen. Wenn ich einen verschachtelten PreferenceScreen habe, dann gibt es keine ActionBar. Wie kann ich dies erreichen, um auf dem verschachtelten PreferenceScreen eine ActionBar mit Backbutton zu haben?
Es sollte mit API15 + und AppCombat
Original-Beitrag kompatibel sein: How to add Action Bar from support library into PreferenceActivity?
Haben Sie schon eine Lösung gefunden? –
Nein. Ich habe meine eigenen Fragmente mit einigen ListView und CheckBoxen ohne den PreferenceScreen erstellt. Und es funktioniert gut und sieht aus wie der PreferencesScreen ... Ich hätte das schon viel früher machen sollen, bevor ich versucht habe, den PreferenceScreen in Betrieb zu nehmen – Tobi
http://stackoverflow.com/a/27455363/2247612 Diese Antwort hat eine perfekte Lösung für den Support Bibliothek – harishannam