在 Android ScrollView 中捕获 onScroll 事件

Posted

技术标签:

【中文标题】在 Android ScrollView 中捕获 onScroll 事件【英文标题】:Capture onScroll event in Android ScrollView 【发布时间】:2014-03-02 01:53:38 【问题描述】:

简单的场景 - ScrollView 托管一个具有多个子级的 LinearLayout - 允许在 android 上开发滚动启用视图的首选模式。

如果我使用 ListView/onScrollListener 组合,我需要捕获现成可用且运行良好的 onScrollEvents、启动、停止等。

用于滚动视图的专用小部件没有捕获这些事件的内置功能?快点!我已经尝试过 OnTouchEvent 侦听器、onGestureListener 等 - 所有的解决方法都意味着其他东西。我在这里错过了什么?

【问题讨论】:

之前也有人问过并回答过一模一样的问题:***.com/questions/8181828/… 基本上是开箱即用的。 完全正确 - 我们可能应该再问一千次,以便 Android 开发团队中的某个人听到它,或者至少提供一个合理的借口。 - 必须从数百种变通方法中选择一种,可能会扩展 ScrollView。 Can I have onScrollListener for a ScrollView?的可能重复 萨拉姆。这个答案对我很有用:***.com/a/23365539/1676736 【参考方案1】:

很遗憾,没有预先构建的方法来获取这些事件。但是,有两种解决方法:

改用ListView

使用 ScrollListener 构建您自己的自定义 ScrollView。这并不难实现,has been done before。

【讨论】:

以上是关于在 Android ScrollView 中捕获 onScroll 事件的主要内容,如果未能解决你的问题,请参考以下文章

捕获/渲染 Scrollview 的屏幕外内容

React Native (Android) 中的屏幕截图

如何在ScrollView嵌套另一个ScrollView

Android ScrollView中嵌套ListView

android中ScrollView嵌套ListView或GridView显示位置问题

Android ScrollView在滚动中调用scrollTo(0,0)回到顶部无效