4

私のアクティビティには がNavigationViewありDrawerLayoutます。

DrawerLayout/NavigationViewユーザーが NavigationView ヘッダーのボタンをクリックすると、アニメーションで一番上までスクロールしたいと思います。

NavigationView と DrawerLayout は、実際のスクロール位置を取得するメソッドを提供していないようで (常に 0getScrollY()getScrollX()返します)、それを行うことはできません。

アニメーションで一番上にスクロールするにはどうすればよいですか?

<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/drawer_layout"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:fitsSystemWindows="true">

     <!-- My content -->

     <android.support.design.widget.NavigationView
         android:id="@+id/navigation"
         android:layout_width="wrap_content"
         android:layout_height="match_parent"
         android:layout_gravity="start"
         app:headerLayout="@layout/navigation_view_header"
         app:menu="@menu/my_navigation_items" />
 </android.support.v4.widget.DrawerLayout>
4

2 に答える 2

0

から拡張したsmoothScrollToPosition(0) まま単純なユーザーにすることができますNavigationMenuViewRecyclerView

NavigationMenuViewのソース コードを参照してください

例えば

 navigationView.smoothScrollToPosition(0);
于 2016-02-17T11:23:33.187 に答える