FLEX入门实例--------FLEX全屏功能实现及右键菜单

简介:

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

 

 

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

Java代码  复制代码
  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的文件打开它,他长成下面这个样子:(只看我写注释的那两行就可以了,免得浪费大家时间)

 

Html代码  复制代码
  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>  

<!-- saved from url=(0014)about:internet --><html lang="en"><!-- Smart developers always View Source. This application was built using Adobe Flex, an open source frameworkfor building rich Internet applications that get delivered via theFlash Player or to desktops via Adobe AIR. Learn more about Flex at http://flex.org // --><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><!-- BEGIN Browser History required section --><link rel="stylesheet" type="text/css" href="history/history.css" /><!-- END Browser History required section --><title>${title}</title><script src="AC_OETags.js" language="javascript"></script><!-- BEGIN Browser History required section --><script src="history/history.js" language="javascript"></script><!-- END Browser History required section --><style>body { margin: 0px; overflow:hidden }</style><script language="JavaScript" type="text/javascript"><!--// -----------------------------------------------------------------------------// Globals// Major version of Flash requiredvar requiredMajorVersion = ${version_major};// Minor version of Flash requiredvar requiredMinorVersion = ${version_minor};// Minor version of Flash requiredvar requiredRevision = ${version_revision};// -----------------------------------------------------------------------------// --></script></head><body scroll="no"><script language="JavaScript" type="text/javascript"><!--// Version check for the Flash Player that has the ability to start Player Product Install (6.0r65)var hasProductInstall = DetectFlashVer(6, 0, 65);// Version check based upon the values defined in globalsvar hasRequestedVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);if ( hasProductInstall && !hasRequestedVersion ) {// DO NOT MODIFY THE FOLLOWING FOUR LINES// Location visited after installation is complete if installation is requiredvar MMPlayerType = (isIE == true) ? "ActiveX" : "PlugIn";var MMredirectURL = window.location; document.title = document.title.slice(0, 47) + " - Flash Player Installation"; var MMdoctitle = document.title;AC_FL_RunContent("src", "playerProductInstall","FlashVars", "MMredirectURL="+MMredirectURL+'&MMplayerType='+MMPlayerType+'&MMdoctitle='+MMdoctitle+"","width", "${width}","height", "${height}","align", "middle","id", "${application}","quality", "high","bgcolor", "${bgcolor}","name", "${application}","allowScriptAccess","sameDomain","type", "application/x-shockwave-flash","pluginspage", "http://www.adobe.com/go/getflashplayer");} else if (hasRequestedVersion) {// if we've detected an acceptable version// embed the Flash Content SWF when all tests are passedAC_FL_RunContent("src", "${swf}","width", "${width}","height", "${height}","align", "middle","id", "${application}","quality", "high","bgcolor", "${bgcolor}","name", "${application}","allowScriptAccess","sameDomain","allowFullScreen","true", //加入这一行,看这里,看这里,大家看到了吗?"type", "application/x-shockwave-flash","pluginspage", "http://www.adobe.com/go/getflashplayer"); } else { // flash is too old or we can't detect the plugin var alternateContent = 'Alternate HTML content should be placed here. ' + 'This content requires the Adobe Flash Player. ' + '<a href=http://www.adobe.com/go/getflash/>Get Flash</a>'; document.write(alternateContent); // insert non-flash content }// --></script><noscript> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"id="${application}" width="${width}" height="${height}"codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab"><param name="movie" value="${swf}.swf" /><param name="quality" value="high" /><param name="bgcolor" value="${bgcolor}" /><param name="allowScriptAccess" value="sameDomain" /><embed src="${swf}.swf" quality="high" bgcolor="${bgcolor}"width="${width}" height="${height}" name="${application}" align="middle"play="true"loop="false"quality="high"allowScriptAccess="sameDomain"allowFullScreen="true"//加入这一行,看这里,看这里,大家看到了吗?type="application/x-shockwave-flash"pluginspage="http://www.adobe.com/go/getflashplayer"></embed></object></noscript></body></html>

本文转自jiahuafu博客园博客,原文链接http://www.cnblogs.com/jiahuafu/archive/2010/01/28/1658020.html如需转载请自行联系原作者


jiahuafu

相关文章
|
4天前
|
小程序 前端开发 Android开发
微信小程序(van-tabs) 去除横向滚动条样式(附加源码解决方案+报错图)
微信小程序(van-tabs) 去除横向滚动条样式(附加源码解决方案+报错图)
8 1
|
10月前
Flex 布局------ 子项常见属性
Flex 布局------ 子项常见属性
flex布局及常用属性,学flex收藏这个就够用了,超详细分析“建议收藏”
flex布局及常用属性,学flex收藏这个就够用了,超详细分析“建议收藏”
114 0
|
分布式计算 Spark
|
容器
Flex布局教程及属性速查
一、Flex布局介绍 伸缩盒模型(flexbox)是一个新的盒子模型,意为"弹性布局",用来为盒状模型提供最大的灵活性,主要优化了UI布局。Flexbox的功能主要包手:简单使用一个元素居中(包括水平垂直居中),可以让扩大和收缩元素来填充容器的可利用空间,可以改变源码顺序独立布局,以及还有其他的一些功能。
770 0