Flex 4.6 Scroller - возможно ли временно отключить прокрутку с помощью Actionscript? - PullRequest
1 голос
/ 20 января 2012

Я пытаюсь создать мобильное приложение, которое позволяло бы перетаскивать определенные элементы, используя 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 Ответ

4 голосов
/ 24 января 2012

Я просто пытаюсь сделать именно это сам, и я думаю, что у меня есть рабочий ответ.

Что вам нужно сделать, это установить verticalScrollPolicy (и / или горизонтальный). Вы делаете это с помощью метода setStyle:

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

Очевидно, чтобы снова включить прокрутку, просто установите политику в положение ON.

...