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

简介: FLEX的全屏功能的实现,光写AS还不够,还需要对JS部分做一些小小改动才行,好在这个改动并不麻烦,有这个需求的朋友可以参考下.另外在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",
才行,测试过
恩,确实是的
相关文章
|
JavaScript 前端开发
鼠标拖拽菜单栏控制宽度大小及flex实现经典左右两栏布局
鼠标拖拽菜单栏控制宽度大小及flex实现经典左右两栏布局
鼠标拖拽菜单栏控制宽度大小及flex实现经典左右两栏布局
|
前端开发
bootstrap如何去除自带的样式----导航栏中的菜单实现平滑的过渡到对应的菜单区域-------动态跟换模态框中的内容
bootstrap如何去除自带的样式----导航栏中的菜单实现平滑的过渡到对应的菜单区域-------动态跟换模态框中的内容
|
开发框架 小程序 开发工具
APICloud AVM框架列表组件list-view的使用、flex布局教程
avm.js 是APICloud 推出的多端开发框架。使用 avm.js 一个技术栈可同时开发 Android & iOS 原生 App、小程序和 iOS 轻 App,且多端渲染效果统一;全新的 App 引擎 3.0 不依赖 webView,提供百分百的原生渲染,保障 App 性能和体验与原生 App 一致。
172 0
APICloud AVM框架列表组件list-view的使用、flex布局教程
|
分布式计算 Spark