我在 CardView
中有可扩展的 View ,它的父 View 是 NestedScrollView
。当展开动画结束时,我正在尝试为 child 创建平滑的滚动。但我只找到一个解决方案:
scrollView.requestChildFocus(someView, someView);
这段代码工作正常,但是,当调用 requestChildFocus
时,它会立即滚动,这让我有点恼火。是否可以顺利滚动到 child ?
最佳答案
我想滚动到的 childView
具有 CardView
父级,因此 childView.getTop()
返回相对于CardView
不是ScrollView
。因此,要获得相对于 ScrollView
的顶部,我应该获取 childView.getParent().getParent()
然后将其转换为 View
并调用 getTop()
。
滚动位置的计算方式类似
int scrollTo = ((View) childView.getParent().getParent()).getTop() + childView.getTop();
nestedScrollView.smoothScrollTo(0, scrollTo);
关于android - 在 NestedScrollView 中平滑滚动到 Child,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33522585/