我有一个带有几个窗口的空气应用程序。当我使用 httpservice 时,繁忙的光标出现在当前窗口的背面(它出现在初始窗口上)。任何人都可以帮我将繁忙的光标放在所有窗口的前面。
1 回答
科迪亚克,
HTTPService 文档描述了我假设 isabelle 正在使用的showBusyCursor 参数。如果使用 MXML,您只需添加一个参数 showBusyCursor="true"。如果使用 AS,您将设置属性 myHttpServiceObject.showBusyCursor=true
伊莎贝尔,
我跟踪了 .showBusyCursor=true AS 调用。我在 HTTPService 和 AbstractOperation 中的“function get showBusyCursor()”调用上设置了断点。AbstractOperation.invoke 调用 CursorManager.setBusyCursor(),这是不幸的。
CursorManager 文档中有一条注释说
在 AIR 中,每个 mx.core.Window 实例都使用自己的 CursorManager 类实例。在 AIR 应用程序中,不是直接引用 CursorManager 类的静态方法和属性,而是使用 Window.cursorManager 属性来引用 Window 实例的 CursorManager 实例。
我读到这意味着没有真正的全局位置来设置光标——它是在每个窗口的基础上完成的。
想到的唯一解决方案是监听来自 HTTPService 的调用和结果事件,并使用 this.cursorManager.setBusyCursor() 和 this.cursorManager.removeBusyCursor() 在每个窗口中手动设置光标。
我希望其他人可以添加到这一点 - 在我的应用程序中,我有六种不同的窗口类型和大量的 HTTPService 调用。这可能会导致一些非常混乱的代码。