Tôi đang viết một ứng dụng Android để tận dụng chức năng Ngăn xếp bố cục. Tôi muốn có một khả năng sử dụng Layout Drawer như một công cụ điều hướng có sẵn trong suốt ứng dụng. Để sử dụng Bố cục ngăn kéo, tôi đang sử dụng các tệp sau đây trong bố cục hoạt động của tôi tệp xml:Làm thế nào để bọc DrawerLayout xung quanh PreferenceActivity trong một ứng dụng Android?
<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>
Tuy nhiên, tôi đang gặp nhiều khó khăn khi bao gói DrawerLayout xung quanh PreferenceActivity. PreferenceActivity là một loại hoạt động đặc biệt mà tôi muốn giữ lại vì nó giúp tôi duy trì giao diện của các tùy chọn Android trong ứng dụng của mình; được nói, nó sử dụng hàm addPreferencesFromResource() để nạp các tùy chọn và không sử dụng các cuộc gọi addContentView() để tải các tệp tin XML; tài nguyên tùy chọn thường chứa các thẻ PreferenceScreen không thích được bao bọc trong DrawerLayouts.
Bất kỳ ai phải giải quyết vấn đề đó và bạn đã giải quyết vấn đề đó như thế nào? Nếu bạn có PreferenceActivity trong ứng dụng Android của mình và bạn có DrawerLayout có sẵn trên cùng một hoạt động, vui lòng chia sẻ cách bạn làm điều đó. Bất kì sự trợ giúp nào đều được đánh giá cao.
EDITED: Nếu tôi thay đổi
<!-- The main content view -->
<LinearLayout
android:id="@+id/main_content_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" />
để
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
sau đó ứng dụng không sụp đổ khi PreferenceActivity được nạp (vì id "danh sách" phù hợp với những gì các Hoạt động Preference được hy vọng tìm thấy); tuy nhiên, ngăn kéo không hiển thị. Nó gần như là nếu mọi thứ bên dưới ListView "list" bị bỏ qua.
Tôi cũng muốn giữ lại các hoạt động hiện tại của mình và thêm động tác ngăn. Không phải vì PreferenceActivity, nhưng bởi vì có gần 100 hoạt động và thay đổi tất cả thành các mảnh sẽ mất một thời gian. Tôi đã có thể làm điều này với HorizontalScrollView, nhưng tôi cảm thấy DrawerLayout sẽ sạch hơn nhiều. –