我有如下导航视图,
<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>
如何让NavigationView始终以其原始&#34;滚动位置,只要它打开,所以无论先前滚动位置在哪里,第一个菜单项始终可见。
我尝试了以下3行/解决方案,但它没有工作:
((NavigationMenuView)((NavigationView)mViewHolder.mNavigationView).getChildAt(0)).scrollToPosition(0);
mViewHolder.mNavigationView.scrollTo(0,0);
mViewHolder.mNavigationView.setVerticalScrollbarPosition(View.SCROLLBAR_POSITION_DEFAULT);
答案 0 :(得分:1)
这个解决方案对我有用 。RecyclerView.getLayoutManager()scrollToPosition(0);