【发布时间】:2015-09-04 10:20:15
【问题描述】:
我创建了一个 AIR 应用程序,它似乎工作正常,但是当我拖动标题栏来移动本机窗口时,它会剧烈摇晃,并且在拖动时会癫痫发作。
仅供参考,当我停止移动鼠标时,它最终会到达我想要的位置。
我在 Mac OSX 10.10.5 上使用 Flex 4.6 和 AIR 3.6。这是一个s:WindowedApplication 如果这很重要,我还在应用程序的一部分列表中使用 DragManager,但在用户单击列表并移动超过一定数量的像素之前它不会启用。
这是我的描述符文件减去名称和版本信息:
<application xmlns="http://ns.adobe.com/air/application/3.6">
<initialWindow>
<autoOrients>false</autoOrients>
<fullScreen>false</fullScreen>
<visible>false</visible>
</initialWindow>
</application>
在初始化时我运行这个:
protected function initializeHandler(event:FlexEvent):void {
width = Capabilities.screenResolutionX * .96;
height = Capabilities.screenResolutionY * .9;
nativeWindow.x = (Screen.mainScreen.bounds.width - width)/2;
nativeWindow.y = (Screen.mainScreen.bounds.height - height)/2;
}
更新:
我删除了主视图组件,因此它是一个空的应用程序,并且可以顺畅地拖动。
更新 2:
我重新添加了主视图,并在此过程中逐步拖动。当我将第二个应用程序(称为子应用程序)加载到主应用程序中时,它似乎开始发生。不过我不确定。
【问题讨论】:
-
错字:应该更正。
-
我从未见过这种行为。你能用一个简单的例子重现它吗?
-
我也没有看到这个。我正在使用较新版本的 Air 和 Flex,但不记得旧版本中的类似内容。顺便说一句:这发生在哪个操作系统(和版本)上?窗口上的自定义皮肤?窗口 Chrome 设置?
-
当 DisplayObject 的位置改变其父对象的“边界”时,我遇到过这种行为。基本上,如果您移动属于另一个对象边界的一部分,这些边界将会改变,并且宽度和高度将不再是可靠的“中心”点。这可能不是您的问题,但症状是相同的。您可以尝试将 Screen.mainScreen.bounds.width/height 保存在变量中,并在交互过程中使用这些值。
-
有很多地方我的宽度高度为 100%。我会尝试在几个地方设置固定尺寸,看看是否有帮助。所以当我移动它时,有些东西正在调整大小,而其他东西正试图让自己居中?我经常使用水平和垂直中心。我也会尝试固定位置。这是一个有趣的应用程序。同时还有其他事情发生,如果我不在线,大多数面板和文本都会消失。所以我的待办事项清单上就是把所有的东西都取下来,然后一块一块地加回来。
标签: actionscript-3 apache-flex air