在导航视图中实现滚动视图

时间:2017-07-26 15:34:51

标签: android menu menuitem android-navigationview

我用NavigationView创建了一个DrawerLayout。 navigationView在xml文件中定义如下:

<android.support.design.widget.NavigationView
        android:id="@+id/nav_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        app:headerLayout="@layout/header_main"
        app:itemTextAppearance="@style/NavigationDrawerStyle"
        tools:visibility="visible">

        <include layout="@layout/menu_item_main" />

    </android.support.design.widget.NavigationView>

我没有定义app:menu ----,而是定义了一个单独的布局,直到列表中的项目数量很少才能正常工作。一旦它更多,我在menu_item_main中添加了一个可滚动的布局,尝试覆盖scrollView中的NavigationView。似乎没有什么对我有用。

我知道使用菜单屏幕可以解决问题,但应用程序的逻辑取决于布局的存在而无法改变它。有没有人知道如何在不使用app:menu的情况下使列表中的菜单项可滚动?

菜单布局文件如下所示:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="@dimen/nav_height"
    android:orientation="vertical">

    <LinearLayout
        android:id="@+id/home"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <ImageView
            android:id="@+id/home_icon"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="4dp"
            android:gravity="center_vertical"
            android:src="@drawable/home_unselected" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_margin="4dp"
            android:gravity="center_vertical"
            android:orientation="vertical">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:text="@string/home_item_text"
                android:textSize="@dimen/textSize_medium" />

        </LinearLayout>
    </LinearLayout>

    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="@android:color/darker_gray" />

    <LinearLayout
        android:id="@+id/nav_identify"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <ImageView
            android:id="@+id/nav_identify_icon"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="4dp"
            android:gravity="center_vertical"
            android:src="@drawable/closure_unselected" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_margin="4dp"
            android:gravity="center_vertical"
            android:orientation="vertical">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/identify_item_text"
                android:textSize="@dimen/textSize_medium" />

        </LinearLayout>
    </LinearLayout>

    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="@android:color/darker_gray" />
</LinearLayout>

0 个答案:

没有答案