重置 NavigationView 滚动
Reset NavigationView scroll
一个简单的问题,我自己找不到答案或想不通。
如何让 NavigationView 在打开时始终从其 "original" 滚动位置开始,以便第一个菜单项始终可见,而不管之前滚动位置位于何处。
我已经尝试过但没有成功:
drawerLayout.addDrawerListener(new DrawerLayout.DrawerListener() {
...
@Override
public void onDrawerClosed(View drawerView) {
drawerView.scrollTo(0, 0);
}
...
});
谢谢。
如果您想在用户选择抽屉中的某些项目时更新抽屉项目。然后
您应该为 onItemClick
中的列表视图刷新适配器。
调用 notifydatasetchange()
以反映更改。
但是,如果您希望用户在列表中选择了某些项目,然后在选择后关闭抽屉,您想要更新列表,对于这种情况,您
监听抽屉关闭事件 -
public void onDrawerClosed(View view) {
// refresh adapter and call notify data set change.
}
看到这个 link : https://developer.android.com/training/implementing-navigation/nav-drawer.html
在检查了 NavigationView 小部件的视图层次结构之后,它由一个扩展 RecyclerView 的 NavigationMenuView 组成,因此使用它我想出了这个恶作剧:
((NavigationMenuView)((NavigationView)drawerView).getChildAt(0)).scrollToPosition(0);
一个简单的问题,我自己找不到答案或想不通。
如何让 NavigationView 在打开时始终从其 "original" 滚动位置开始,以便第一个菜单项始终可见,而不管之前滚动位置位于何处。
我已经尝试过但没有成功:
drawerLayout.addDrawerListener(new DrawerLayout.DrawerListener() {
...
@Override
public void onDrawerClosed(View drawerView) {
drawerView.scrollTo(0, 0);
}
...
});
谢谢。
如果您想在用户选择抽屉中的某些项目时更新抽屉项目。然后
您应该为 onItemClick
中的列表视图刷新适配器。
调用 notifydatasetchange()
以反映更改。
但是,如果您希望用户在列表中选择了某些项目,然后在选择后关闭抽屉,您想要更新列表,对于这种情况,您
监听抽屉关闭事件 -
public void onDrawerClosed(View view) {
// refresh adapter and call notify data set change.
}
看到这个 link : https://developer.android.com/training/implementing-navigation/nav-drawer.html
在检查了 NavigationView 小部件的视图层次结构之后,它由一个扩展 RecyclerView 的 NavigationMenuView 组成,因此使用它我想出了这个恶作剧:
((NavigationMenuView)((NavigationView)drawerView).getChildAt(0)).scrollToPosition(0);