本文和大家重点讨论一下Flex全屏的原理和局部Flex全屏的几种方法,Flex全屏和flash全屏其实是相似的,都是由as控制的,当选择以Flex全屏
显示的时候,会自动更改swf的高和宽,以Flex全屏
幕显示整个swf。
Flex全屏
1.Flex全屏的原理:
Flex全屏和flash全屏其实是相似的,都是由as控制的,当选择以Flex全屏显示的时候,会自动更改swf的高和宽,以Flex全屏幕显示整个swf。
2.局部Flex全屏的两种方法:
一、使用在flash.display包中有一个stage对象,它有一个属性是fullScreenSourceRect:Rectangle,设置FlashPlayer以将特定的舞台区域放大到Flex全屏模式。
二、Flex全屏时调整某组件的高度和宽度,铺满整个屏幕,当退出Flex全屏时,要还原组件的高度和宽度。
3.Flex全屏的代码实现:
第一种方法:
-
//valid,willenablehardwarescaling
-
stage.fullScreenSourceRect
=
newRectangle
(0,0,320,240);——详细代码可以查看
Flex帮助
第二种方法:(注意:在Application中添加的初始化函数,使用的是applicationComplete事件)
-
<?
xmlversion
xmlversion
="1.0"
encoding
="utf-8"
?>
-
-
<
mx:Applicationxmlns:mx
mx:Applicationxmlns:mx
="http://www.adobe.com/2006/mxml"
layout
="vertical"
-
applicationComplete
="init(event)"
viewSourceURL
="srcview/index.html"
>
-
-
<
mx:Script
>
-
<![CDATA[
-
importflash.display.StageDisplayState;
-
-
privatefunctioninit(evt:Event):void{
-
/*Setupfullscreenhandler.*/
-
Application.application.stage.addEventListener(FullScreenEvent.FULL_SCREEN,fullScreenHandler);
-
dispState=Application.application.stage.displayState;
-
}
-
-
privatefunctionfullScreenHandler(evt:FullScreenEvent):void{
-
dispState=Application.application.stage.displayState+"(fullScreen="+evt.fullScreen.toString()+")";
-
if(evt.fullScreen){
-
/*Dosomethingspecifichereifweswitchedtofullscreenmode.*/
-
}else{
-
/*Dosomethingspecifichereifweswitchedtonormalmode.*/
-
}
-
}
-
-
privatefunctiontoggleFullScreen():void{
-
try{
-
switch(Application.application.stage.displayState){
-
caseStageDisplayState.FULL_SCREEN:
-
/*Ifalreadyinfullscreenmode,switchtonormalmode.*/
-
Application.application.stage.displayState=StageDisplayState.NORMAL;
-
break;
-
default:
-
/*Ifnotinfullscreenmode,switchtofullscreenmode.*/
-
Application.application.stage.displayState=StageDisplayState.FULL_SCREEN;
-
break;
-
}
-
}catch(err:SecurityError){
-
//ignore
-
}
-
}
-
]]>
-
</
mx:Script
>
-
-
<
mx:Stringid
mx:Stringid
=
"dispState"
/>
-
-
<
mx:Labeltext
mx:Labeltext
=
"width={Application.application.width}"
/>
-
<
mx:Labeltext
mx:Labeltext
=
"height={Application.application.height}"
/>
-
<
mx:Labeltext
mx:Labeltext
=
"displayState={dispState}"
/>
-
-
<
mx:Buttonlabel
mx:Buttonlabel
="Togglefullscreen"
click
="toggleFullScreen()"
/>
-
-
</
mx:Application
>
-
--------------------------------------------------并修改index.template.html:-------------------------------------------
-
AC_FL_RunContent(
-
"src","main",
-
"width","100%",
-
"height","100%",
-
"align","middle",
-
"id","main",
-
"quality","high",
-
"bgcolor","#869ca7",
-
"name","main",
-
"allowScriptAccess","sameDomain",
-
"type","application/x-shockwave-flash",
-
"pluginspage","http://www.adobe.com/go/getflashplayer",
-
"allowFullScreen","true"
-
);
注意:
1、Application.application.stage.displayState=StageDisplayState.FULL_SCREEN;
//必须把它放到按钮或键盘事件中,否则在AS2.0里会被忽略,AS3.0里会抛出以下异常SecurityError:Error#2152:不允许使用Flex全屏模式。atflash.display::Stage/setdisplayState()
2、Flex全屏下Flash文本框无法输入,设计界面请勿支持Flex全屏,而且Flex全屏下做不到屏蔽右键的功能
本文摘自:http://developer.51cto.com/art/201008/216028.htm
分享到:
相关推荐
在Flex开发中,全屏功能是一项常见的需求,它允许用户最大化查看和交互应用的部分或全部内容。标题"Flex 组件全屏 部分...为了深入学习,建议结合具体的项目实践和查阅Adobe官方文档,以便更好地掌握Flex全屏技术。
这部分内容对于理解Flex应用的工作原理和环境配置有帮助,但与全屏功能的实现关系不大。 ### 实现全屏的注意事项 1. **兼容性**:在设计全屏功能时,需考虑到不同平台和浏览器的兼容性问题,确保功能在各种环境...
#### 一、Flex全屏显示概述 Flex是一种用于构建跨平台桌面应用程序和移动应用程序的开源框架。它基于Adobe Flash平台,并利用MXML(标记语言)和ActionScript(脚本语言)来创建用户界面和控制逻辑。全屏显示是指将...
这个是我一直在用的针对于组件全屏的一个类,这里是页面上的某个组件全屏,而不是整个页面全屏。 这是原始的库了,里面少了一个针对按下ESC键的处理,这个在使用的时候可以自己加,另外一个问题就是由于这个库是FLEX...
在给定的“Flex 全屏显示 JasPine.rar”压缩包文件中,我们重点关注的是“util.as”文件内的`goFullScreen`方法。这个方法涉及到如何在Flash Player中实现全屏模式,并且对全屏状态下的背景颜色进行了定制。 在Flex...
5. Flex全屏事件: Flex提供了一些全屏相关的事件,如`fullScreen`、`fullScreenActivate`和`fullScreenDeactivate`,可以用来监听全屏状态的变化并做出相应操作。 6. Flex与硬件加速: 在全屏模式下,为了获得更...
Flex 3.2支持两种全屏模式:带提示的全屏和无提示的全屏。带提示的全屏会在用户切换到全屏模式时显示提示,而无提示的全屏则直接切换。这可以通过设置`fullScreenInteractive`属性来实现: ```actionscript this...
本篇将详细讲解如何在Flex中实现窗口托盘和全屏功能。 首先,让我们关注"窗口托盘"这一概念。在桌面应用程序中,窗口托盘通常指的是系统任务栏上的一个小图标,当用户最小化程序窗口时,程序会缩到托盘区,而不是...
【知识点详解】 在Flex开发中,全屏模式的实现是一个常见的需求,特别是在创建富互联网应用程序时,...通过以上示例,你可以了解如何在MXML中定义事件监听器和方法来控制应用的全屏状态,从而为用户提供更好的体验。
在给定的标题和描述中,“flex放大镜”、“flex滤镜”、“flex图像放大”以及“局部图像放大”都是关于如何利用Flex来增强图像展示效果的关键概念。下面将详细解释这些知识点。 1. Flex放大镜(Magnifying Glass)...
通过这些基本原理,开发者能够理解Flex框架如何组织和控制应用程序的运行,从而更好地利用其强大的功能来构建复杂的用户界面和业务逻辑。Flex框架提供了一套完善的组件库,支持数据绑定,使得开发RIA变得更加便捷和...
以上两种方法都可以有效地实现Flex应用的全屏切换功能。选择哪种方式取决于具体的应用场景和个人偏好。单击按钮的方式更适合在特定区域提供明确的操作提示,而双击则可以提供更加自然且无缝的用户体验。开发者可以...
通过学习FLEX和BISON,我们可以更深入地理解编译器的工作原理,这对于编写高效、优化的代码,甚至是开发自己的编程语言都有极大的帮助。同时,这种实践性的学习方法也能提升问题解决能力和抽象思维能力,对于任何...
在编译原理的学习和实践中,掌握Flex的使用是至关重要的。 Flex主要负责识别源代码中的词汇结构,将其转化为符号供语法分析阶段使用。它基于正则表达式来定义词法规则,通过flex工具,我们可以编写lex.y文件(通常...
`FullScreenUtil.addChild()`方法用于在全屏模式下添加和定位组件。 另外,为了使这个功能在浏览器中正确工作,还需要对HTML模块文件进行相应的调整。这通常涉及到Flash Player的全屏权限设置和一些特定的HTML标记...
Flex工具包是编译原理学习和实践中不可或缺的一部分,主要用于创建词法分析器(lexer)或扫描器。在编译器设计领域,词法分析是编译过程的第一步,它将源代码分解成一个个称为标记(token)的独立单元,这些标记随后...
当我们使用`[Bindable]`元数据标签标记一个类的成员变量时,Flex编译器会自动为这个变量生成相关的访问器(getter和setter)。例如,在提供的代码段中,`list`变量被标记为`[Bindable]`: ```actionscript public ...
3. **全屏播放**:在Flex中实现全屏播放功能,主要涉及到`fullScreen`属性和`fullScreenEvent`事件。当用户触发全屏模式时,我们可以监听`fullScreen`属性的变化,然后调整VideoDisplay组件的尺寸以适应全屏模式。...
总之,掌握Flex工具和编译原理是软件开发人员必备的技能之一。通过自顶向下的方式编写Flex程序,我们可以更有效地解析复杂的输入,实现高效、精确的词法分析。结合Unix环境和基本的C编程知识,开发者能够灵活运用...
通过这个入门实例,开发者可以快速理解Flex与Java交互的基本原理,并为进一步的复杂项目开发奠定基础。在实际的企业级应用中,这种交互模式常用于构建用户友好的前端界面,同时利用Java的强大后端处理能力,实现数据...