Flex Spark列表鼠标滚轮滚动速度

时间:2011-03-07 13:39:39

标签: list flex scroll mousewheel flex-spark

我有一个扩展Spark列表的组件,当我使用鼠标滚轮滚动时,它会一次滚动太多。我试图在List类和VerticalLayout类中寻找处理鼠标滚轮滚动的处理程序来覆盖,但我找不到它。

还有另一种方法我应该改变这种情况,还是我错过了什么?

2 个答案:

答案 0 :(得分:11)

MouseEvent.MOUSE_WHEEL的“delta”属性定义了一次滚动滚动的行数。您可以尝试在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;
        }

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; }

答案 1 :(得分:0)

“horizo​​ntalLineScrollSize”和“verticalLineScrollSize”属性确定用户选择滚动条箭头时要滚动的像素数。 “verticalLineScrollSize”属性还控制使用“鼠标滚轮”时的滚动量。默认值为5像素。 “horizo​​ntalPageScrollSize”和“verticalPageScrollSize”属性确定当用户选择“滚动条轨道”时要滚动的像素数。默认值为20像素。

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