Flex 4.6 Scroller - 是否可以通过Actionscript暂时禁用滚动?

时间:2012-01-20 13:27:19

标签: actionscript-3 flex flash-builder flex4.6

我正在尝试制作一个移动应用,允许使用startDrag()和stopDrag()拖放某些元素。这些元素封闭在火花卷轴内。当有人与可拖动对象进行交互时,我想禁用滚动条,但似乎无法使滚动条无法响应。

以下是我尝试过的事情。

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

但滚动条不会停止滚动。我是否遗漏了某些内容,或者没有任何内容可以暂时停止滚动条滚动以允许对滚动条中包含的对象进行拖放操作。

1 个答案:

答案 0 :(得分:4)

我只是想自己做这个,我觉得我有一个合适的答案。

您需要做的是设置verticalScrollPolicy(和/或水平)。您可以通过setStyle方法执行此操作:

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

显然,重新启用滚动只需将策略设置为ON。