FLEX全屏功能实现右键菜单

FLEX的全屏功能的实现,光写AS还不够,还需要对JS部分做一些小小改动才行,好在这个改动并不麻烦,有这个需求的朋友可以参考下.另外在 FLEX应用里右键菜单的功能也是很常见的,我在这里也作了一个简单的功能实现,太复杂的小弟暂时还没来得及实践,有朋友实现了也给小弟参考下,在此表示感谢.





好了,先把AS代码贴出来吧:

   1. <?xml version="1.0" encoding="utf-8"?>  
   2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">  
   3. <mx:Style>  
   4.     global{  
   5.         font-size:19;     
   6.     }  
   7. </mx:Style>  
   8. <mx:Script>  
   9.     <![CDATA[  
  10.         import mx.controls.Alert;  
  11.         private function fullScr():void{  
  12.             stage.displayState=StageDisplayState.FULL_SCREEN;  
  13.             //controlScr.label="普通";  
  14.             //controlScr.addEventListener(MouseEvent.CLICK, normalScr);  
  15.             var contextMenu:ContextMenu=new ContextMenu();  
  16.             contextMenu.hideBuiltInItems();  
  17.             var item:ContextMenuItem=new ContextMenuItem("关于作者");  
  18.             item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,alertMsg);  
  19.             contextMenu.customItems.push(item);  
  20.             this.contextMenu=contextMenu;  
  21.         }  
  22.           
  23.         private function alertMsg(event:ContextMenuEvent):void{  
  24.             Alert.show("hacker.Ye");  
  25.         }  
  26.           
  27.         private function normalScr():void{  
  28.             //controlScr.removeEventListener(MouseEvent.CLICK,fullScr);  
  29.             stage.displayState=StageDisplayState.NORMAL;  
  30.         }  
  31.     ]]>  
  32. </mx:Script>  
  33.     <mx:Button label="全屏" click="fullScr();"/>  
  34.     <mx:Button  label="普通" click="normalScr()"/>  
  35. </mx:Application>  




<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">
<mx:Style>
global{
font-size:19;
}
</mx:Style>
<mx:Script>
<![CDATA[
import mx.controls.Alert;
private function fullScr():void{
stage.displayState=StageDisplayState.FULL_SCREEN;
//controlScr.label="普通";
//controlScr.addEventListener(MouseEvent.CLICK, normalScr);
var contextMenu:ContextMenu=new ContextMenu();
contextMenu.hideBuiltInItems();
var item:ContextMenuItem=new ContextMenuItem("关于作者");
item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,alertMsg);
contextMenu.customItems.push(item);
this.contextMenu=contextMenu;
}

private function alertMsg(event:ContextMenuEvent):void{
Alert.show("hacker.Ye");
}

private function normalScr():void{
//controlScr.removeEventListener(MouseEvent.CLICK,fullScr);
stage.displayState=StageDisplayState.NORMAL;
}
]]>
</mx:Script>
<mx:Button label="全屏" click="fullScr();"/>
<mx:Button  label="普通" click="normalScr()"/>
</mx:Application>





AS部分就没什么好说的了,相信大家的智商都是比我高的.再看看JS部分吧,大家在FLEX工程里找到一个名字index.templete.html的文件打开它,他长成下面这个样子:(只看我写注释的那两行就可以了,免得浪费大家时间)


view plaincopy to clipboardprint?

   1. <!-- saved from url=(0014)about:internet --> 
   2. <html lang="en"> 
   3.  
   4. <!--  
   5. Smart developers always View Source.  
   6.  
   7. This application was built using Adobe Flex, an open source framework 
   8. for building rich Internet applications that get delivered via the 
   9. Flash Player or to desktops via Adobe AIR.  
  10.  
  11. Learn more about Flex at http://flex.org  
  12. // --> 
  13.  
  14. <head> 
  15. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  16.  
  17. <!--  BEGIN Browser History required section --> 
  18. <link rel="stylesheet" type="text/css" href="history/history.css" /> 
  19. <!--  END Browser History required section --> 
  20.  
  21. <title>${title}</title> 
  22. <script src="AC_OETags.js" language="javascript"></script> 
  23.  
  24. <!--  BEGIN Browser History required section --> 
  25. <script src="history/history.js" language="javascript"></script> 
  26. <!--  END Browser History required section --> 
  27.  
  28. <style> 
  29. body { margin: 0px; overflow:hidden } 
  30. </style> 
  31. <script language="JavaScript" type="text/javascript"> 
  32. <!-- 
  33. // ----------------------------------------------------------------------------- 
  34. // Globals 
  35. // Major version of Flash required 
  36. var requiredMajorVersion = ${version_major}; 
  37. // Minor version of Flash required 
  38. var requiredMinorVersion = ${version_minor}; 
  39. // Minor version of Flash required 
  40. var requiredRevision = ${version_revision}; 
  41. // ----------------------------------------------------------------------------- 
  42. // --> 
  43. </script> 
  44. </head> 
  45.  
  46. <body scroll="no"> 
  47. <script language="JavaScript" type="text/javascript"> 
  48. <!-- 
  49. // Version check for the Flash Player that has the ability to start Player Product Install (6.0r65) 
  50. var hasProductInstall = DetectFlashVer(6, 0, 65); 
  51.  
  52. // Version check based upon the values defined in globals 
  53. var hasRequestedVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision); 
  54.  
  55. if ( hasProductInstall && !hasRequestedVersion ) { 
  56.     // DO NOT MODIFY THE FOLLOWING FOUR LINES 
  57.     // Location visited after installation is complete if installation is required 
  58.     var MMPlayerType = (isIE == true) ? "ActiveX" : "PlugIn"; 
  59.     var MMredirectURL = window.location; 
  60.     documentdocument.title = document.title.slice(0, 47) + " - Flash Player Installation"; 
  61.     var MMdoctitle = document.title; 
  62.  
  63.     AC_FL_RunContent( 
  64.         "src", "playerProductInstall", 
  65.         "FlashVars", "MMredirectURL="+MMredirectURL+'&MMplayerType='+MMPlayerType+'&MMdoctitle='+MMdoctitle+"", 
  66.         "width", "${width}", 
  67.         "height", "${height}", 
  68.         "align", "middle", 
  69.         "id", "${application}", 
  70.         "quality", "high", 
  71.         "bgcolor", "${bgcolor}", 
  72.         "name", "${application}", 
  73.         "allowScriptAccess","sameDomain", 
  74.         "type", "application/x-shockwave-flash", 
  75.         "pluginspage", "http://www.adobe.com/go/getflashplayer" 
  76.     ); 
  77. } else if (hasRequestedVersion) { 
  78.     // if we've detected an acceptable version 
  79.     // embed the Flash Content SWF when all tests are passed 
  80.     AC_FL_RunContent( 
  81.             "src", "${swf}", 
  82.             "width", "${width}", 
  83.             "height", "${height}", 
  84.             "align", "middle", 
  85.             "id", "${application}", 
  86.             "quality", "high", 
  87.             "bgcolor", "${bgcolor}", 
  88.             "name", "${application}", 
  89.             "allowScriptAccess","sameDomain", 
  90.             "allowFullScreen","true",     //加入这一行,看这里,看这里,大家看到了吗? 
  91.             "type", "application/x-shockwave-flash", 
  92.             "pluginspage", "http://www.adobe.com/go/getflashplayer" 
  93.     ); 
  94.   } else {  // flash is too old or we can't detect the plugin 
  95.     var alternateContent = 'Alternate HTML content should be placed here. ' 
  96.     + 'This content requires the Adobe Flash Player. ' 
  97.     + '<a href=http://www.adobe.com/go/getflash/>Get Flash</a>'; 
  98.     document.write(alternateContent);  // insert non-flash content 
  99.   } 
100. // --> 
101. </script> 
102. <noscript> 
103.     <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" 
104.             id="${application}" width="${width}" height="${height}" 
105.             codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab"> 
106.             <param name="movie" value="${swf}.swf" /> 
107.             <param name="quality" value="high" /> 
108.             <param name="bgcolor" value="${bgcolor}" /> 
109.             <param name="allowScriptAccess" value="sameDomain" /> 
110.             <embed src="${swf}.swf" quality="high" bgcolor="${bgcolor}" 
111.                 width="${width}" height="${height}" name="${application}" align="middle" 
112.                 play="true" 
113.                 loop="false" 
114.                 quality="high" 
115.                 allowScriptAccess="sameDomain" 
116.                 allowFullScreen="true"//加入这一行,看这里,看这里,大家看到了吗? 
117.  
118.                 type="application/x-shockwave-flash" 
119.                 pluginspage="http://www.adobe.com/go/getflashplayer"> 
120.             </embed> 
121.     </object> 
122. </noscript> 
123. </body> 
124. </html> 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值