我有如下的navigationView,
<android.support.design.widget.NavigationView
android:id="@+id/navigation"
style="@style/NavDrawer"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:itemBackground="@android:color/transparent"
app:itemTextColor="@color/drawer_item">
<ExpandableListView
android:id="@+id/list_navigation_menu"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/list_view_marigin_top"
android:divider="@android:color/transparent"
android:dividerHeight="@dimen/list_view_divider_height"
android:fitsSystemWindows="true"
android:listSelector="@android:color/transparent"
android:visibility="gone" />
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/list_view_marigin_top"
android:fitsSystemWindows="true" />
</android.support.design.widget.NavigationView>
每当打开导航视图时,如何使它始终从其“原始”滚动位置开始,因此无论以前将滚动位置留在何处,第一个菜单项始终可见。
我尝试了以下3行/解决方案,但没有成功:
((NavigationMenuView)((NavigationView)mViewHolder.mNavigationView).getChildAt(0)).scrollToPosition(0);
mViewHolder.mNavigationView.scrollTo(0,0);
mViewHolder.mNavigationView.setVerticalScrollbarPosition(View.SCROLLBAR_POSITION_DEFAULT);
最佳答案
这个解决方案对我有用
RecyclerView.getLayoutManager()。scrollToPosition(0);
关于android - 如何重置NavigationView滚动位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43753389/