Android NestedScrollView.smoothScrollBy() 滚动太远

标签 android kotlin android-nestedscrollview

我有以下 Kotlin 代码:

val scrollView = parent as? NestedScrollView
scrollView?.let {
    it.smoothScrollTo(0, 500)
}

这段代码第一次调用 ScrollView 时,scrollY 为 0,它成功地将 View 在 y 中滚动了 500。但是,当第二次调用它时,它会再滚动 500(而不是在 y 中将它滚动到 500,它现在将在 1000,以此类推连续调用。

知道这里发生了什么吗?当我深入了解 NestedScrollView 的代码(并最终深入了解最终调用的 OverScroller 的 startScroll 方法时,我可以看到 distance 该调用在 y 轴上的参数为 0 - 因为除了第一次调用我的代码之外的任何其他时间都应该为 0。

编辑:重要信息 - 我尝试使用 ScrollView 而不是 NestedScrollView 并且它按预期工作,但是因为我的 ScrollView 需要在 SwipeRefreshLayout 中 我需要它是 NestedScrollView 否则下拉总是刷新而不是滚动。

最佳答案

同样的事情也发生在 Java 中。这是自版本 26.0.0 以来支持库中的错误,已讨论 here在谷歌上 Issue Tracker .

关于Android NestedScrollView.smoothScrollBy() 滚动太远,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47739617/

相关文章:

java - 使用jsoup提取表格的特定单元格

android - ScrollView 在 android 中的特定字段后自动滚动

java - 在嵌套 Flowable 的 onNext 中抛出异常会导致 UndeliverableException

android - 使用 rxbinding 时我应该取消订阅吗?

android - 嵌套 ScrollView 中的两个 Recyclerview

java - 将图像从 Android 客户端发送到 Windows 上使用 NetBeans 制作的本地服务器

android - android中退出应用程序的方法

Java/Kotlin/Android - 格式化时间 (hh :mm:ss) and remove unnecessary zeros from the beginning

android - CoordinatorLayout 带有折叠工具栏,NestedScrollView 和 RecyclerView 底部有空白空间(滚动太远)

android - 嵌套 ScrollView 无法使类膨胀