6

は、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()方法でこれを追加してみてくださいまたはどこにセットアップあなたのUI:

mNavigationView.setVerticalFadingEdgeEnabled(false); 

UPDATE

これ以上のテストをしたところ、これまでの回答に掲載されている解決策は実際には機能していないことがわかりました。しかし、私はこれが機能することが分かっ:あなたはナビゲーションの引き出しを初期化した後

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

は、あなたのonCreate()方法でそれを追加します。それは別の上で `NavigationView`と` DrawerLayout`の両方のために、私はこれを追加しました、動作しませんでした

+0

はまだスクロール影が –

+0

を@Bandreid私が代わりにnever'であれば、 'の' ifContentScrolls'を使用して好むだろうと見て、ビルドしますケースOPは将来的に新しいアイテムを追加します。 –

+2

私の経験上、 'ifContentScrolls'を使用すると、コンテンツがスクロール可能なコンテナにある場合でも、スクロールシャドウが表示されます。 – Bandreid

関連する問題