2012-01-20 42 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); 

顯然要重新啓用滾動功能剛剛設置的策略重新開啓。

相關問題