2012-03-26 62 views
2

我在Flex移动应用程序中使用SpinnerList组件,旋转器转速太快以至于无法满足我的需求,是否有办法降低速度。如何降低Flex移动SpinnerList组件的滚动速度

关于鼠标滚轮的速度有很多答案,但没有关于飞轮本身的答案。

+0

你想控制滚动速度? – Triode 2012-03-26 14:16:54

+0

SpinnerList主要设计用于移动应用程序,可能会带有触摸输入。滚动速度是不是直接受刷卡影响?较短的滑动移动较慢,滚动较慢。更长的滑动移动更快,更快。我认为你必须量化“太快”意味着什么以及你如何与SpinnerList交互。 – JeffryHouser 2012-03-26 15:05:28

+1

是的,没错,手势的速度会影响spinnerList的速度。所以也许我没有正确地问我的问题。也许,我想控制的参数是spinnerList的惯性吗?但无论如何,在任何情况下,无论我做什么,spinnerList都会因为我的需要而快速滑动,我希望能够降低滚动列表的速度或惯性。 – 2012-03-27 14:09:14

回答

2

我做了一个快速查找到Flex来源:

我觉得SpinnerList滚动使用普通滚轮就像用一个正常的List组件。

Scroller类使用TouchScrollHelper类。这个类包含一个calculateThrowVelocity(),这个方法使用了一些常量,比如VELOCITY_WEIGHTS

但是,这个方法和const都是私有的,所以你不能通过扩展类来修改它。此外,Scroller中的touchScrollHelper属性也是私有的。

因此,恐怕修改速度/惯量的唯一方法是使用自定义TouchScrollHelper创建自定义Scroller,方法是复制原件中的大部分代码,但自定义calculateThrowVelocity()您可以添加自定义使用皮肤滚动到SpinnerList。