标签:flex 4
在主Application中获取stage
要使用[this.]systemManager.stage,而不是[this.]stage,因为在Application的initialize和creationComplete事件处理函数中,Application的stage都为null!
设置全屏
可以在Application的creationComplete事件处理函数中,设置
systemManager.stage.displayState=StageDisplayState.FULL_SCREEN_INTERACTIVE;
设置Application为整体缩放
可以在Application的creationComplete事件处理函数中,设置
systemManager.stage.align="";//默认为"noScale",设置为""(空字符串)会使用水平垂直居中对齐,注:不能设为null
systemManager.stage.scaleMode=StageScaleMode.SHOW_ALL|StageScaleMode.NO_BORDER|StageScaleMode.EXACT_FIT;
Application默认的缩放模式是StageScaleMode.NO_SCALE,对齐方式是StageAlign.TOP_LEFT。也就是说,因为Flex主要是制作Web应用,所以大多数情况下的需求是,根据浏览器的尺寸来手动布局所有页面元素,而不是整体缩放。
设置swf的尺寸
在主Application中添加 元数据标签
<fx:Metadata> [SWF (width=800,height=600)] </fx:Metadata>
或在编译器-附加的编译器参数中 添加 -default-size 800 600 省略则默认设置为500×375
桌面Flex程序设置窗口尺寸+全屏+整体缩放
1、app.xml中设置initialWindow-width | height 节点值,省略设置,则默认为500×375
2、在Application中设置 Metadata 元数据,或在编译器-附加的编译器参数中 添加 -default-size 宽 高,默认为500×375
3、Application的creationComplete事件处理函数中设置
systemManager.stage.displayState、systemManager.stage.stageAlign、systemManager.stage.scaleMode
4、Application的creationComplete事件处理函数中添加
this.width=systemManager.stage.stageWidth;
this.height=systemManager.stage.stageHeight;
注意4必须写在3后面
添加以上代码才能保证Flex桌面程序,在整体缩放并全屏时,Flash内容能正确缩放到页面尺寸。
因为Flex桌面程序在整体缩放模式中全屏时
systemManager.stage.stageWidth和systemManager.stage.stageHeight分别为app.xml中设置的width和height值,Flash内容的初始大小为Application中元数据声明的大小(默认为app.xml设置的宽高尺寸-500×375),而Application的width和height默认是当前Flash的显示尺寸(全屏时为显示器屏幕尺寸),如果没有设置第4步,因为Application全屏时width,height是显示器屏幕尺寸大小(可能大于或小于app.xml中设置的宽高值),而systemManager.stage.stageWidth | stageHeight是app.xml中设置的width和height,就会出现,虽然程序全屏,但Flash内容区域却小于或大于显示器屏幕尺寸,小于屏幕尺寸时,周围区域由Flash背景色填充的现象。
本文出自 “博客命名跟变量名一样麻烦” 博客,请务必保留此出处http://cstar.blog.51cto.com/2923639/1568503
标签:flex 4
原文地址:http://cstar.blog.51cto.com/2923639/1568503