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