【问题标题】:Adobe AIR application activated incorrectlyAdobe AIR 应用程序未正确激活
【发布时间】:2014-06-07 04:07:55
【问题描述】:

我创建了一个 Adob​​e AIR 应用程序,在根 MXML 标记 (

alwaysInFront="true"
backgroundAlpha="0" 
contentBackgroundAlpha="0"

在我的描述符文件中,我设置了 intialWindow 属性,如下所示:

<systemChrome>none</systemChrome>

        <!-- Whether the window is transparent. Only applicable when systemChrome is none. Optional. Default false. -->
        <transparent>true</transparent>

        <!-- Whether the window is initially visible. Optional. Default false. -->
        <!-- <visible></visible> -->

        <!-- Whether the user can minimize the window. Optional. Default true. -->
        <minimizable>false</minimizable>

        <!-- Whether the user can maximize the window. Optional. Default true. -->
        <maximizable>false</maximizable>

        <!-- Whether the user can resize the window. Optional. Default true. -->
        <resizable>false</resizable>

这应该确保我的应用程序是透明的并且没有任何系统镶边。我根据屏幕宽度和高度将应用程序的大小调整为 100% 宽度和 100% 高度。这工作正常。在右下角,我有一个搜索字段。当我单击搜索字段旁边(在我的应用程序的透明区域中)时,我可以单击其下方的窗口。这意味着我的电脑可以继续工作,只是我的搜索栏始终位于顶部。

当我按下我的应用程序的透明区域时,我点击“通过”我的应用程序,这意味着它仍然在前面,但它不再被激活。获得焦点的应用程序(例如 Google Chrome)现在已激活。工作正常...

但是

有时当我的 AIR 应用程序未激活时,它会在我在另一个应用程序(例如 Google Chrome)中工作时自动激活。它总是在单击鼠标后发生,我无法重现它!似乎很随机,所以我不知道是什么原因造成的。 在这种情况下,会调用 WindowedApplication 上的应用程序激活处理程序。

所以可能的情况是:

1) AIR 应用程序已停用,但当我出于某种原因单击透明部分时,即使我正在使用其他应用程序(例如 Google Chrome),该应用程序也会被激活

2) 其他应用程序(例如 Google Chrome)由于某种原因失去焦点,AIR 应用程序(最顶层的应用程序)获得焦点并由操作系统自动激活,当我现在单击时,我正在单击我自己的应用程序内部并且透明度被忽略

3) ..

谁有线索?在 MacOS 上转载

【问题讨论】:

    标签: macos apache-flex air


    【解决方案1】:

    我在构建多窗口应用程序时遇到了类似的问题。我认为这是由初始窗口的大小引起的。即使在窗口关闭后,该区域有时仍会收到点击。

    我将初始窗口大小设置为 10x10,并在启动时调整为全屏。这在 OSX 上解决了它。我确实在 swf 元标记中设置了大小,还没有尝试在应用描述符 xml 中设置值。

    希望这会有所帮助。

    【讨论】:

    • 感谢您的帮助
    猜你喜欢
    • 1970-01-01
    • 2016-08-07
    • 2010-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-05
    相关资源
    最近更新 更多