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>

 

 

 

评论
1 楼 ioryioryzhan 2008-07-21   引用
第一个 AC_FL_RunContent()中好像也要加上
"allowFullScreen","true",
才行,测试过
恩,确实是的

posted on 2010-01-28 08:42  jiahuafu  阅读(1149)  评论(0编辑  收藏  举报

导航