我注意到 Google 应用程序中的抽屉是可滚动的,但由于某种原因,我无法得出如何实现可滚动 DrawerLayout 的结论。我尝试使用以下设计范例构建布局文件。
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawerLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/frameLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".mainScreen">
<!-- Layout of Activity -->
</FrameLayout>
<!-- DrawerLayout segment -->
<ScrollView
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/drawerLinearLayout"
android:orientation="vertical"
android:layout_width="260dp"
android:layout_height="match_parent"
android:layout_gravity="start|bottom"
android:layout_marginTop="?android:attr/actionBarSize"
android:divider="@android:color/transparent"
android:dividerHeight="0dp"
android:background="#77000000">
<!-- Layout of Drawer -->
</LinearLayout>
</ScrollView>
</android.support.v4.widget.DrawerLayout>
但是,无论有没有 ScrollView,当项目超出屏幕末端时,抽屉只会在底部切断项目。我无法启用任何形式的滚动。不确定我缺少什么或需要启用什么。想法将不胜感激。
DrawerLayout 段中的 LinearLayout 包含不同样式的视图。一个视图只显示标题,其下方有一个分隔线,一个显示一个带有文本的图像视图,另一个显示一个标题,其中内置了一个开关。因此,如果在 XML 编码布局文件之外完成,则需要考虑多个样式视图。