在我的Android游戏中,我在(自定义)onTouchEvent
的{{1}}方法中实现了自定义代码,以模拟SurfaceView
。我已经尝试了实际ScrollView
,但由于性能和缺乏可自定义性,我倾向于自己覆盖ScrollView
。
它完美无缺,但我无法正确模拟scrollviews典型的惯性效果。 我现在做的是:
onTouchEvent
代码比看起来更简单:
我使用ScrollValue来表示"玩家滚动了多少"。它是像素数。
On Touch Down手指和实际滚动值的保存位置。我也初始化了一个VelocityTracker。
On Touch Move我更新速度跟踪器和滚动值。
On Touch Up我启动一个名为Dissipator的自定义Runnable:
每减少(或增加)最后一个跟踪速度的滚动值,然后减小速度值。
这种方法很有效,但效果看起来并不像具有适当惯性的滚动视图,惯性相反是愚蠢而过于强烈。
我应该怎么做才能模拟标准的scrollview惯性?