我正在 HTML / JavaScript 中在Adobe AIR for Mac中构建应用程序。
我想要做的是当应用程序加载时,使用OS X Lion及更高版本中的正确本机全屏幕使应用程序进入全屏模式。
这不是使用Flash / Flex使用的displayState
如果用户决定退出全屏模式,他们会在原生窗口中看到该应用,并可以使用窗口右上角的图标重新进入全屏模式。
我在此处找到了有关扩展程序的一些信息:http://forums.adobe.com/thread/1209193
FREObject _EnableFullScreenMode(FREContext ctx, void* functionData, uint32_t argc, FREObject argv[])
{
//We should be okay to do this, even on 10.6, according to this post:
//http://www.cocoabuilder.com/archive/cocoa/311124-implementing-full-screen-for-10-7-but-app-should-also-run-on-10-6.html
//We can't use [NSApp mainWindow] - didn't appear to work
//This seems to though:
NSArray * allWindows = [NSApp windows];
if (allWindows.count > 0)
{
NSWindow *mainWindow = [allWindows objectAtIndex: 0];
NSWindowCollectionBehavior behavior = [mainWindow collectionBehavior];
behavior |= NSWindowCollectionBehaviorFullScreenPrimary;
[mainWindow setCollectionBehavior:behavior];
}
//TODO: Return a boolean instead depending on if we found the main window
return NULL;
}
这看起来像我想做的! 但在阅读Adobe AIR文档后,我无法理解这段代码应该存放在我的应用目录中的位置,以及如何在应用加载时调用它。
所以在我的index.html中我有:
$(document).ready(function() {
// Make window full-screen
// CALL THE EXTENSION TO MAKE THE APPLICATION FULL_SCREEN
// Make window active
window.nativeWindow.activate();
// Make it visible
window.nativeWindow.visible = true;
});
默认情况下,在应用程序描述符XML文件中使用<visible>false</false>
不能看到initialWindow。并且如上所示,在文档上可见并激活。
缺少的部分正在扩展中加载并使窗口全屏显示。
打破这个问题:
希望我能指出正确的方向,因为文档完全困扰我,并且不解释扩展文件是如何创建的(至少对我来说)。
答案 0 :(得分:0)
如果你想使用adobe原生扩展(ANE),你必须首先使用xCode for OSX创建扩展。
您可以在这个5部分教程中找到有关如何执行此操作的详细信息:Building a native extension for iOS and Android。
之后,您必须将其打包在您的应用程序中。在这里,您可以获得有关如何在Flash Builder或Flash专业人员上执行此操作的一些信息:Using native extensions for Adobe AIR。它也在上一个教程的第5部分中进行了解释。如果你使用FDT,这里有一个关于如何添加ANE的链接:Add an ANE using FDT。
本机扩展一方面是本机代码,另一方面是AS3代码。 如果一切正常,你只需要调用原生扩展的正确方法,它应该是好的:)
我希望这可以帮到你。