Flex全屏原理和局部全屏方法

本文和大家重点讨论一下Flex全屏的原理和局部Flex全屏的几种方法,Flex全屏和flash全屏其实是相似的,都是由as控制的,当选择以Flex全屏显示的时候,会自动更改swf的高和宽,以Flex全屏幕显示整个swf。

Flex全屏

1.Flex全屏的原理:

Flex全屏和flash全屏其实是相似的,都是由as控制的,当选择以Flex全屏显示的时候,会自动更改swf的高和宽,以Flex全屏幕显示整个swf。

2.局部Flex全屏的两种方法:

一、使用在flash.display包中有一个stage对象,它有一个属性是fullScreenSourceRect:Rectangle,设置FlashPlayer以将特定的舞台区域放大到Flex全屏模式。

二、Flex全屏时调整某组件的高度和宽度,铺满整个屏幕,当退出Flex全屏时,要还原组件的高度和宽度。

3.Flex全屏的代码实现:

第一种方法:

 
 
 
  1. //valid,willenablehardwarescaling  
  2. stage.fullScreenSourceRect=newRectangle(0,0,320,240);——详细代码可以查看Flex帮助 

第二种方法:(注意:在Application中添加的初始化函数,使用的是applicationComplete事件)

 
 
 
  1.  
  2.  
  3. applicationComplete="init(event)"viewSourceURL="srcview/index.html"> 
  4.  
  5.  
  6. importflash.display.StageDisplayState;  
  7.  
  8. privatefunctioninit(evt:Event):void{  
  9. /*Setupfullscreenhandler.*/  
  10. Application.application.stage.addEventListener(FullScreenEvent.FULL_SCREEN,fullScreenHandler);  
  11. dispState=Application.application.stage.displayState;  
  12. }  
  13.  
  14. privatefunctionfullScreenHandler(evt:FullScreenEvent):void{  
  15. dispState=Application.application.stage.displayState+"(fullScreen="+evt.fullScreen.toString()+")";  
  16. if(evt.fullScreen){  
  17. /*Dosomethingspecifichereifweswitchedtofullscreenmode.*/  
  18. }else{  
  19. /*Dosomethingspecifichereifweswitchedtonormalmode.*/  
  20. }  
  21. }  
  22.  
  23. privatefunctiontoggleFullScreen():void{  
  24. try{  
  25. switch(Application.application.stage.displayState){  
  26. caseStageDisplayState.FULL_SCREEN:  
  27. /*Ifalreadyinfullscreenmode,switchtonormalmode.*/  
  28. Application.application.stage.displayState=StageDisplayState.NORMAL;  
  29. break;  
  30. default:  
  31. /*Ifnotinfullscreenmode,switchtofullscreenmode.*/  
  32. Application.application.stage.displayState=StageDisplayState.FULL_SCREEN;  
  33. break;  
  34. }  
  35. }catch(err:SecurityError){  
  36. //ignore  
  37. }  
  38. }  
  39. ]]> 
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  

--------------------------------------------------并修改index.template.html:-------------------------------------------
 

 
 
 
  1. AC_FL_RunContent(  
  2. "src","main",  
  3. "width","100%",  
  4. "height","100%",  
  5. "align","middle",  
  6. "id","main",  
  7. "quality","high",  
  8. "bgcolor","#869ca7",  
  9. "name","main",  
  10. "allowScriptAccess","sameDomain",  
  11. "type","application/x-shockwave-flash",  
  12. "pluginspage","http://www.adobe.com/go/getflashplayer",  
  13. "allowFullScreen","true"  
  14. );  

 注意:

1、Application.application.stage.displayState=StageDisplayState.FULL_SCREEN;
//必须把它放到按钮或键盘事件中,否则在AS2.0里会被忽略,AS3.0里会抛出以下异常SecurityError:Error#2152:不允许使用Flex全屏模式。atflash.display::Stage/setdisplayState()

2、Flex全屏下Flash文本框无法输入,设计界面请勿支持Flex全屏,而且Flex全屏下做不到屏蔽右键的功能

【编辑推荐】

  1. Flex全屏实现方法揭秘
  2. 解析Flex全屏模式设置方法
  3. Flex及FlexBuilder2.0开发环境详解
  4. FlexBuilder3.0与Eclipse3.4的完美结合
  5. Flex内存泄露解决方法和内存释放优化原则

分享题目:Flex全屏原理和局部全屏方法
当前路径:http://www.shufengxianlan.com/qtweb/news26/438876.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联