2012-03-26 91 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。