嵌套滚动视图自动滚动到底部
我有一个NestedScrollView内的GridView。每当GridView的内容发生更改时,我都使用下面的代码来调整GridView的大小。这工作正常,但是当我从应用程序的片段3划回片段2(NestedScrollView所在的位置)时,NestedScrollView会滚动到最底部。当从片段1滑动到片段2时奇怪,这不会发生。它也不会在调整GridView大小后立即发生。嵌套滚动视图自动滚动到底部
添加android:descendantFocusability="blocksDescendants"
孩子布局NestedScrollView
你在开玩笑吧?这实际上工作!非常感谢。 –
令人难以置信的是,这个技巧最终解决了我们在相当长一段时间内遇到的许多小UI故障。我们在各种屏幕上有很多级别的嵌套回收器/滚动视图,这1条线最终帮助我们理解了这个问题。 –
英雄!我一直在寻找这个解决方案很长一段时间!难以置信的是这很容易!谢谢! – romaneso
如果我添加nestedScrollView.scrollTo(0, 0);
到GridView问题得到解决的onLayoutChanged()
方法的末尾:片段之间滑动时
private static void resizeGridView(GridView gridView, int items, int columns) {
ViewGroup.LayoutParams params = gridView.getLayoutParams();
params.height = singleGridHeight * items;
gridView.setLayoutParams(params);
gridView.requestLayout();
}
下面的系统方法被调用。但是,防止nestedScrollView首先自动滚动会更有意义。
想法?
试试这个http://*.com/a/36261638/1621111 –