0

NavigationViewのフッターを追加する目的で別のNavigationViewを含むNestedScrollViewを持つNavigationViewがあります。レイアウトコードは次のとおりです。内部にNestedScrollViewを持つNavigationViewにはflingがありません

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

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

    <android.support.v4.widget.NestedScrollView 
     ... 
     android:fillViewport="true" 
     android:scrollbars="vertical"> 

     <LinearLayout 
      ... 
      android:orientation="vertical"> 

      <android.support.design.widget.NavigationView 
       ... 
       app:elevation="0dp" 
       app:headerLayout="@layout/nav_header" 
       app:menu="@menu/nav_menu"> 
      </android.support.design.widget.NavigationView> 

      <LinearLayout 
       android:id="@+id/spacer_to_bottom" 
       ... 
       android:layout_height="0dp" 
       android:layout_weight="1"> 
      </LinearLayout> 

      <include layout="@layout/nav_footer"></include> 
     </LinearLayout> 
    </android.support.v4.widget.NestedScrollView> 
</android.support.design.widget.NavigationView> 

がここに完全なコードをチェックしてください:https://github.com/MarcDahlem/AndroidSidemenuFooterExample/blob/master/app/src/main/res/layout/activity_main.xml

問題は「NavigationDrawerでスクロールが(滑らかではないんではないということです)。言い換えれば、指が画面上にある間にスクロールし、指を離すと停止します。

NestedScrollViewの最初の子(LinearLayout)にネストされたスクロールを無効にしようとしましたが、これは機能しませんでした。

ご協力いただければ幸いです。

+0

はアンドロイドそれを試して解決します –

答えて

1

調査の結果、ナビゲーションビューの最初の子がRecyclerViewであることがわかりました。ネストされたscrollview内=「false」をnestedScrollingEnabled:そのビューにネストされたスクロールを無効にすると問題

ViewCompat.setNestedScrollingEnabled(navigationView.getChildAt(0), false); 
関連する問題