我有以下问题。我已经在Horizo​​ntalScrollView中放置了30多个图像。我通过重写Horizo​​ntalScrollView中的此方法来正确检测onScroll()。问题是我只需要加载用户附近的那些图像,否则下载/内存过多等。因此,如果用户现在快速滚动,它将开始下载从滚动开始到滚动结束的所有内容。这可能是一百张图像,但在滚动结束时,它们仅紧挨着说4或5张图像。如何检测滚动停止?并以此启动下载?

编辑:对于慢速滚动它可以完美地工作,但是快速滚动是一个问题。如果滚动较慢,则行为是完美的。

编辑:我正在做的是更新onScroll中附近的任何图像,但是onScroll似乎被调用了很多次,并且很难确定是否应该从onScroll内部更新图像。例如x = 50,xPrev = 49,xPrev = 50,x = 51等,实际上对于onScroll的每个像素更改都会被调用。

谢谢

最佳答案

您的图像沿水平方向移动,
 您需要做的是找到运动图像的速度,并根据它来加载或跳过图像,
在onScrollChanged方法中获取当前时间,将其保存到变量中并查找与旧时间的差,如果距离(即水平x1和x2的差)大于某个水平(例如屏幕宽度)(用它进行实验),则在速度低于此值时计算速度一定级别加载图像或以其他方式忽略图像,总是在空闲时(即速度为零时)加载图像。

关于android - Horizo​​ntalScrollView是否存在onScrollStop()事件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14115264/

10-09 13:25