android - 在 NestedScrollView 中平滑滚动到 Child

标签 android nestedscrollview

我在 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/

相关文章:

android 新 Intent 错误

android - ScrollView内的水平RecyclerView : how to get focus when vertical scrolling?

Android NestedScrollView 的 subview 忽略第一次点击

android - 如果在 nestedScrollView 内,RecyclerView 不回收

android - 使用内部的 NestedScrollView 处理 VerticalViewPager 的滚动

android - 我的 Recyclerview 在 NestedScrollview 里面,它正在工作,但滚动不流畅

Android Studio 北极狐 | 2020.3.1 Canary 14 找不到参数的方法 dependencyResolutionManagement()

android - 获取未连接的设备,当我的设备处于网络共享模式时

android - 即使设置为 false,clipChildren 也无法正常工作?

android - 调用录音机并获取生成的文件