我自己找不到答案或无法解决的简单问题。

每当打开导航视图时,如何使它始终从其“原始”滚动位置开始,因此无论以前将滚动位置留在何处,第一个菜单项始终可见。

我尝试了这个没有成功:

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);

10-07 13:09