1

我有一个名为 PaneledVideoPod 的 Spark Group 类型,我正在尝试使这些东西可拖动 - 有限制。也就是说,我不希望用户能够将这些东西部分拖出屏幕。在实现拖动功能的几乎任何部分时,我一直注意到的是,Flex 通常不能很好地处理这些东西……但我不想在这方面离题太多。

Flex 实现的一个尴尬之处在于,该组的 x 和 y 属性正在被更改时被更改,但是当我尝试覆盖 x 和 y 的设置器时,什么也没有发生:

override public function set x(value:Number):void
{
    Alert.show("spam"); // x is still set just fine from the dragging, and no
                        // Alert message is shown.
}

在调用 stopDrag() 之前尝试响应移动事件是无效的(我正在使用 startDrag() 和 stopDrag())。由于多种原因,我不想通过计时器来处理这个问题。

如果我不能直接覆盖 x 和 y 的设置器以通过 startDrag() 和 stopDrag() 进行拖动,我可以使用什么来可靠地立即阻止 x 和 y 设置在某个范围之外?我一直在经历一些试验和错误,但我发现的任何东西都存在可靠性、时间或两者兼而有之的问题。谢谢!

4

1 回答 1

1

使用可选的第二个参数 startDrag(),一个 Rectangle 指定边界来约束组件的拖动。

于 2013-06-26T18:04:14.613 回答