我自己找不到答案或无法解决的简单问题。
每当打开导航视图时,如何使它始终从其“原始”滚动位置开始,因此无论以前将滚动位置留在何处,第一个菜单项始终可见。
我尝试了这个没有成功:
drawerLayout.addDrawerListener(new DrawerLayout.DrawerListener() {
...
@Override
public void onDrawerClosed(View drawerView) {
drawerView.scrollTo(0, 0);
}
...
});
谢谢。
最佳答案
在检查了NavigationView小部件的View层次之后,它由扩展RecyclerView的NavigationMenuView组成,因此使用此工具我想出了以下内容:
((NavigationMenuView)((NavigationView)drawerView).getChildAt(0)).scrollToPosition(0);