的Flex星火列表鼠标滚轮滚动速度

问题描述:

我有延伸的星火列表中的一个组成部分,当我使用滚动鼠标滚轮它滚动太多一气呵成。我已经尝试寻找处理List类和VerticalLayout类中的鼠标滚轮滚动的处理程序来覆盖,但我找不到它。的Flex星火列表鼠标滚轮滚动速度

有另一种方式我应该改变这种情况,还是我失去了一些东西?

+0

如果你的问题是只能用我的鼠标滚轮:我有同样的问题,仍然没有解决:(http://*.com/questions/3584127/scrolling-interval-in-一个火花列表与 - tilelayout-过大尺寸的同时,用鼠标-WH – hering 2011-03-07 13:44:31

+0

耶它只是鼠标滚轮滚动时,尽可能多的移动约3倍为正常滚动,因此看起来不协调。否则其精...使用MX列表我所能做的覆盖保护功能mouseWheelHandler()来改变速度,所以我认为有好多东西火花列表一样... – 2011-03-07 14:44:28

MouseEvent.MOUSE_WHEEL的“增量”属性定义多少行将由一个车轮滚动滚动。您可以尝试在MOUSE_WHEEL处理程序中更改它(在捕获阶段)。例如,下面的代码将线由行滚动:

 protected function init(event:FlexEvent):void 
     { 
      list.addEventListener(MouseEvent.MOUSE_WHEEL, list_mouseWheelHandler, true); 
     } 

     protected function list_mouseWheelHandler(event:MouseEvent):void 
     { 
      event.delta = event.delta > 0 ? 1 : -1; 
     } 

+0

我已经尝试过,处理程序被调用太晚所以没有效果在滚动,但无论如何感谢:)我想知道的是哪个函数重写该t当他听到MouseEvent.MOUSE_WHEEL – 2011-03-08 13:30:27

+1

时,他列表正在调用您已添加处理程序并将capture设置为false。如果添加捕获设置为true的处理程序 - >它将在之前调用。这将解决你的问题,你不需要重写任何东西。至于哈勒:检查VScrollBar-> mouseWheelHandler(但老实说,你不需要覆盖它)。再次尝试完全按照上面的示例订阅MOUSE_WHEEL事件。 – 2011-03-08 13:44:39

+0

谢谢!那确实能解决问题,对不起我昨天没有注意到。真的是在屏幕之外,所以我认为这是我已经尝试过了......非常感谢:) – 2011-03-09 09:13:28

的“horizo​​ntalLineScrollSize”和“verticalLineScrollSize”属性决定多少像素当用户选择滚动条箭头来滚动。 “verticalLineScrollSize”属性还控制使用“鼠标滚轮”时的滚动量。默认值是5个像素。 的“horizo​​ntalPageScrollSize”和“verticalPageScrollSize”属性决定多少像素,当用户选择了“滚动条轨道”来滚动。默认值是20像素。

更多细节:http://livedocs.adobe.com/flex/3/html/help.html?content=containers_intro_4.html