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

相关文章
|
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
|
容器
Flex布局教程及属性速查
一、Flex布局介绍 伸缩盒模型(flexbox)是一个新的盒子模型,意为"弹性布局",用来为盒状模型提供最大的灵活性,主要优化了UI布局。Flexbox的功能主要包手:简单使用一个元素居中(包括水平垂直居中),可以让扩大和收缩元素来填充容器的可利用空间,可以改变源码顺序独立布局,以及还有其他的一些功能。
770 0

热门文章

最新文章