如何在Flex桌面本机(Air)应用程序上设置更高的分辨率?

时间:2012-11-27 20:58:37

标签: flex air resolution

我正在尝试更改在视网膜macbook上运行的flex原生应用(空气)应用的分辨率。浏览器中的Flex应用程序会自动以160dpi平滑渲染所有内容,但如果我构建与Air安装应用程序相同的应用程序,则渲染为72dpi并且看起来不太好。我知道您可以在移动应用程序的应用程序描述符文件中设置分辨率,但这不是一个。另外,我已经尝试在WindowedApplication标签上设置applicationDPI属性,但没有运气。有任何想法吗?感谢...

2 个答案:

答案 0 :(得分:2)

为了记录,在例如运行的AIR桌面应用程序中启用高分辨率渲染Retina Macbook Pros,在应用描述符XML的<requestedDisplayResolution>high</requestedDisplayResolution>部分设置<initialWindow>。需要Adobe AIR 3.6或更高版本。

http://help.adobe.com/en_US/air/build/WSfffb011ac560372f2fea1812938a6e463-8000.html#WSfffb011ac560372f-4cb7055d12d779150e8-8000

答案 1 :(得分:0)

http://gregsramblings.com/2010/05/06/scaling-an-adobe-air-application-to-fit-multiple-resolutions-and-netbooks/

&lt; mx:WindowedApplication xmlns:mx =“http://www.adobe.com/2006/mxml&quot; width =”1019“height =”680“scaleX =”0.8“scaleY =”0.8“applicationComplete =”init()“...&gt ;

&lt; mx:WindowedApplication xmlns:mx =“http://www.adobe.com/2006/mxml&quot; width =”1019“height =”680“preinitialize =”initScreenSize()“applicationComplete =”init()“...&gt; ... ...             private function initScreenSize():void {                 var thisScreen:Screen = Screen.mainScreen;                 var newScaleX:Number = thisScreen.visibleBounds.width / 1019 * 0.98;                 var newScaleY:Number = thisScreen.visibleBounds.height / 680 * 0.98;                 var newScale:Number = Math.min(newScaleX,newScaleY,1);                 this.scaleX = newScale;                 this.scaleY = newScale;                 this.height = this.height * newScale;                 this.width = this.width * newScale;             }

根据用户的分辨率缩放应用。这是代码: