6

我使用NavigationView在DrawerLayout我的应用程序的导航菜单,这里的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> 

问题:我甚至不具备足够的项目滚动,但我看到这个效果,同时试图滚动,我想禁用此效果,谢谢。
Scrolling effect

更新

努力都:

android:overScrollMode "never" in NavigationView 

navigationView.setVerticalFadingEdgeEnabled(false); 

没有工作。

我在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); 
} 

回答

7

您试图禁用滚动阴影。 尝试添加以下内容到NavigationView

android:overScrollMode="never" 

如果以上方法无效,请尝试在活动的onCreate()方法添加此或任何你设置你的用户界面:

mNavigationView.setVerticalFadingEdgeEnabled(false); 

UPDATE

经过一些更多的测试后,我发现到目前为止答案中发布的解决方案确实不起作用。然而,我发现这工作:

for (int i = 0; i < navigationView.getChildCount(); i++) { 
    navigationView.getChildAt(i).setOverScrollMode(View.OVER_SCROLL_NEVER); 
} 

添加在你onCreate()方法,则初始化导航抽屉后。

+0

它没有工作,我已经在不同的版本中为'NavigationView'和'DrawerLayout'添加了这个,仍然看到滚动的影子@Bandreid –

+0

如果存在,我宁愿使用ifContentScrolls而不是'never'案例OP将来会增加新的项目。 –

+2

根据我的经验,如果内容处于可滚动容器中,即使它不填充垂直空间,使用ifContentScrolls仍将显示滚动阴影。 – Bandreid