【发布时间】:2014-06-07 04:07:55
【问题描述】:
我创建了一个 Adobe 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