Ich schreibe eine Android-App, um die Funktionalität des Schubladenlayouts zu nutzen. Ich möchte die Möglichkeit haben, das Schubladenlayout als Navigationswerkzeug in der gesamten App zu verwenden. Um das Fach-Layout zu verwenden, verwende ich die folgenden in meiner Tätigkeit Layout XML-Dateien:Wie wird DrawerLayout um PreferenceActivity in einer Android App umgebrochen?
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- The main content view -->
<LinearLayout
android:id="@+id/main_content_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<!-- The navigation drawer -->
<ListView android:id="@+id/navigational_drawer"
android:layout_width="220dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp"
android:background="#FFFFFF"/>
</android.support.v4.widget.DrawerLayout>
Allerdings bin ich eine Menge Schwierigkeiten mit Einwickeln DrawerLayout um die PreferenceActivity. PreferenceActivity ist eine besondere Art von Aktivität, die ich beibehalten möchte, da sie mir hilft, das Aussehen der Android-Einstellungen in meiner App zu erhalten. Dazu verwendet es die Aufrufe von addPreferencesFromResource(), um Voreinstellungen zu laden, und verwendet keine addContentView() - Aufrufe, um XML-Dateien zu laden. Die Präferenzressourcen enthalten in der Regel PräferenzScreen-Tags, die nicht in DrawerLayouts eingebettet werden sollen.
Jeder musste sich mit diesem Problem befassen und wie haben Sie es gelöst? Wenn Sie PreferenceActivity in Ihrer Android App haben und DrawersLayout für dieselbe Aktivität verfügbar ist, teilen Sie uns bitte mit, wie Sie es gemacht haben. Jede Hilfe würde sehr geschätzt werden.
EDITED: Wenn ich
<!-- The main content view -->
<LinearLayout
android:id="@+id/main_content_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" />
zu
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
dann die App stürzt nicht ändern, wenn PreferenceActivity geladen wird (weil die id "Liste" übereinstimmt, was die Vorlieben Aktivität erwartet zu finden); Die Schublade wird jedoch nicht angezeigt. Es ist fast so, als ob alles unterhalb der ListView-Liste ignoriert wird.
Ich möchte auch meine vorhandenen Aktivitäten beibehalten und die Schublade dynamisch hinzufügen. Nicht wegen PreferenceActivity, sondern weil es fast 100 Aktivitäten gibt, und ihre Änderung in Fragmente würde eine Weile dauern. Ich konnte dies mit HorizontalScrollView machen, aber ich denke, das DrawerLayout wäre viel sauberer. –