2012-01-20 41 views
1

我想要制作一个移动应用程序,允许使用startDrag()和stopDrag()来拖放某些元素。这些元素被包含在火花滚动器内。我想在有人与可拖动对象交互时禁用滚动器,但似乎无法让滚动器无法响应。Flex 4.6 Scroller - 是否可以通过Actionscript暂时禁用滚动?

这是我尝试过的东西。

protected function draggableObjectOnMouseBegin(e:MouseEvent):void { 
    scrollerObject.enabled = false; 
    scrollerObject.mouseEnabled = false; 
    scrollerObject.mouseFocusEnabled = false; 
    draggableObject.setElementIndex(e.currentTarget as IVisualElement, dragabbleObjectGroup.numElements-1); 
    e.currentTarget.startDrag(); 
} 

但滚动器不会停止滚动。我是否错过了某些东西,或者有没有可以暂时停止滚动条滚动的功能,以便在滚动条中包含的对象上进行拖放式操作。

回答

4

我只是试图做到这一点,我自己,我想我有一个工作的答案。

你需要做的是设置verticalScrollPolicy(和/或水平)。你可以通过使用setStyle方法做到这一点:

scrollerObject.setStyle('verticalScrollPolicy', ScrollPolicy.OFF); 

显然要重新启用滚动功能刚刚设置的策略重新开启。

相关问题