导航抽屉菜单滚动效果

Can*_*lik 7 android navigation-drawer material-design android-navigationview

我在DrawerLayout中使用NavigationView为我的应用程序导航菜单这里是xml:

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/drawerLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true">

    <include
        layout="@layout/app_bar_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <android.support.design.widget.NavigationView
        android:id="@+id/nav_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:fitsSystemWindows="true"
        android:foreground="?android:attr/selectableItemBackground"
        android:theme="@style/NavigationDrawerStyle"
        app:headerLayout="@layout/nav_header_main"
        app:itemIconTint="@color/textColor"
        app:itemTextColor="@color/textColor"
        app:menu="@menu/activity_main_drawer" />
    </android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)

问题:我甚至没有足够的项目滚动,但我在尝试滚动时看到这个效果,我想禁用此效果,谢谢.
滚动效果

更新

尝试两者:

android:overScrollMode "never" in NavigationView
Run Code Online (Sandbox Code Playgroud)

navigationView.setVerticalFadingEdgeEnabled(false);
Run Code Online (Sandbox Code Playgroud)

没用.

我正在调用以下方法onCreate():

public void setupDrawerLayout() {
    drawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout);
    ActionBarDrawerToggle drawerToggle = new ActionBarDrawerToggle(this, drawerLayout, toolBar, R.string.drawer_open, R.string.drawer_close);
    drawerLayout.setDrawerListener(drawerToggle);
    drawerToggle.syncState();

    navigationView = (NavigationView) findViewById(R.id.nav_view);
    navigationView.setNavigationItemSelectedListener(this);
}
Run Code Online (Sandbox Code Playgroud)

Ban*_*eid 11

您正在尝试禁用滚动阴影.尝试将此添加到您的NavigationView:

android:overScrollMode="never"
Run Code Online (Sandbox Code Playgroud)

如果上述解决方案不起作用,请尝试在onCreate()Activity 的方法或设置UI的任何位置添加此解决方案:

mNavigationView.setVerticalFadingEdgeEnabled(false);
Run Code Online (Sandbox Code Playgroud)

UPDATE

经过一些更多的测试后,我发现确实,到目前为止在答案中发布的解决方案都无效.但是,我发现这个工作:

for (int i = 0; i < navigationView.getChildCount(); i++) {
    navigationView.getChildAt(i).setOverScrollMode(View.OVER_SCROLL_NEVER);
}
Run Code Online (Sandbox Code Playgroud)

onCreate()初始化导航抽屉后,在方法中添加它.

  • 根据我的经验,如果内容在可滚动的容器中,使用`ifContentScrolls`仍会显示滚动阴影,即使它没有填充垂直空间. (2认同)