apache-flex - 使用鼠标滚轮的 Flex 列表滚动速度

标签 apache-flex actionscript-3 list scroll mousewheel

我有一个自定义类,它扩展了我用作容器的列表。但是,鼠标滚轮的滚动速度太快了,因为即使您只稍微移动滚轮,它也会滚动负载。我尝试在我的 MouseEvent.MOUSE_WHEEL 列表中添加一个事件监听器并设置 event.delta 的值,但这没有任何效果。有谁知道我怎样才能让它变慢?

我的自定义类没什么特别的,我只是创建了它,这样我就可以为不同的项目类型设置不同的 itemRenders。看起来像:

public class MultipleRenderersList extends List
{
    override public function createItemRenderer(data:Object):IListItemRenderer
    {
        if (data is IRenderable)
        {
             return data.getDiaryRenderer();
        }
        else if (data is Array) 
        {
             if (data.length > 0)
             {
                  if (data[0] is IRenderable)
                  {
                       return data[0].getDiaryRenderer(data);
                  }
             }
        }
        return null;
    }
} 

最佳答案

List 类有一个可以覆盖的 mouseWheelHandler 函数。只需重写该函数,更新鼠标事件的 delta 属性,然后调用 super。这个例子将四分之一的增量,大大降低了速度:

package
{
  import flash.events.Event;
  import flash.events.MouseEvent;

  import mx.controls.Alert;
  import mx.controls.List;

  public class MyList extends List
  {

    override protected function mouseWheelHandler(event:MouseEvent):void {
      event.delta = event.delta/4;
      super.mouseWheelHandler(event);
    }

  }
}

但是,在许多情况下,滚动速度/增量将脱离系统偏好设置,因此这样做可能会导致某些用户出现意外行为。添加处理程序和更新增量失败的原因是此时已经调用了 mouseWheelHandler。

关于apache-flex - 使用鼠标滚轮的 Flex 列表滚动速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5120420/

相关文章:

python - 从服务调用发布图像时 Django 中的文件处理

flash - 基于文件加载百分比的 RGB 渐变

arrays - 在 ActionScript 数组 (Object[]) 和 Vector.<Object> 之间转换

python - 如何遍历 Python 中的元组列表?

python - 在列表中查找字符串的索引

c# - 在列表集合中查找重复项

java - Adobe Actionscript (Flex Framework) 的蓝牙 SPP 怎么样?

css - 不存在的线路上出现 Flash 错误 1071?

apache-flex - Flex (Actionscript) 中的条件编译和导入语句

actionscript-3 - Flex Printjob崩溃