`

FLEX全屏功能实现及右键菜单(笔记)

    博客分类:
  • flex
阅读更多
FLEX的全屏功能的实现,在此做以记录,光写AS还不够,还需要对html/js部分做一些小小改动才行,好在这个改动并不麻烦,有这个需求的朋友可以参考下.另外在FLEX应 用里右键菜单的功能也是很常见的,我在这里也作了一个简单的功能实现.
写道
<?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 fullScre():void
{
stage.displayState=StageDisplayState.FULL_SCREEN;
//添加右键菜单
var contextMenu:ContextMenu=new ContextMenu();
contextMenu.hideBuiltInItems();//清除原有的右键菜单

//添加关于作者菜单
var item:ContextMenuItem=new ContextMenuItem("关于作者");
item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, alertMsg);
contextMenu.customItems.push(item);

//添加普通菜单
var itemNormal:ContextMenuItem=new ContextMenuItem("普通");
itemNormal.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, normalScrMenu);
contextMenu.customItems.push(itemNormal);
this.contextMenu=contextMenu;
}

private function alertMsg(event:ContextMenuEvent):void
{
Alert.show("Surpass Li");
}
private function normalScrMenu(event:ContextMenuEvent):void
{
stage.displayState=StageDisplayState.NORMAL;
}

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

.

AS部分就没什么好说的了,相信大家的智商都是比我高的.再看看JS部分吧,大家在FLEX工程里找到一个名字index.templete.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 framework
for building rich Internet applications that get delivered via the
Flash 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>
<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 required
var requiredMajorVersion = 9;
// Minor version of Flash required
var requiredMinorVersion = 0;
// Minor version of Flash required
var requiredRevision = 28;
// -----------------------------------------------------------------------------
// -->
</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 globals
var hasRequestedVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);

if ( hasProductInstall && !hasRequestedVersion ) {
// DO NOT MODIFY THE FOLLOWING FOUR LINES
// Location visited after installation is complete if installation is required
var 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", "100%",
"height", "100%",
"align", "middle",
"id", "fullScr",
"quality", "high",
"bgcolor", "#869ca7",
"name", "fullScr",
"allowFullScreen","true",
"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 passed
AC_FL_RunContent(
"src", "fullScr",
"width", "100%",
"height", "100%",
"align", "middle",
"id", "fullScr",
"quality", "high",
"bgcolor", "#869ca7",
"name", "fullScr",
"allowFullScreen","true",
"allowScriptAccess","sameDomain",
"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="fullScr" width="100%" height="100%"
codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
<param name="movie" value="fullScr.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#869ca7" />
<param name="allowScriptAccess" value="sameDomain" />
<embed src="fullScr.swf" quality="high" bgcolor="#869ca7"
width="100%" height="100%" name="fullScr" 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>

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics