`
www-hello
  • 浏览: 100417 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Flex4 全屏 焦点 Halo INavigatorContent 错误 creationPolicy="none"

    博客分类:
  • flex
阅读更多

1 .Flex4中全屏:

  • 在页面中(比方头部页面)中添加creationComplete事件处理:creationComplete="init();"

 

[Bindable]
private var fullScreenBtnLabel:String = "全屏";

private function init():void{
	stage.addEventListener(FullScreenEvent.FULL_SCREEN,function(event:FullScreenEvent):void {
		fullScreenBtnLabel = event.fullScreen ? "普通" : "全屏";
	});
}
 
  • 页面中添加button:

 

<mx:LinkButton label="{fullScreenBtnLabel}"  click="changeScreen(event)" textDecoration="underline"/>
 
  • button 单击事件处理:

 

private function changeScreen(event:MouseEvent):void{
	stage.displayState = stage.displayState == StageDisplayState.FULL_SCREEN ? StageDisplayState.NORMAL : StageDisplayState.FULL_SCREEN;
}

 

完成,这样就可以实现页面在“全屏”和“普通”之间切换了。

 

注意: (1).flex3 中使用mx.core.Application.application.stage.displayState=StageDisplayState.FULL_SCREEN;来实现全屏的切换。

(2) 全屏时,不能使用键盘。

 

 

2. 默认情况下,在使用Flex生成的包装html来访问swf文件时,即使在页面的creationComplete事件中使用focusManager.setFocu让某个输入框获得焦点,但由于整个swf没有获取焦点,也是无法在页面载入完成时直接输入的。 解决方法:修改工程目录下的html-template\index.template.html,在<head>标签中添加onload事件

<script type="text/javascript">
function doload() {
    try {
	document.getElementById('${application}').focus();
	document.getElementById('${application}').select();
    } catch (ex) {
    }
}
</script>

<!--  ---------- html ----------- -->

<body onload="doload()">
 

3. ViewStack中报 “Halo 导航器的子代必须实现 INavigatorContent。”错误。

解决方法:嵌套一层NavigatorContent

 

4. ViewStack中creationPolicy="none"时,手动创建组件:

  mainViewStack.createComponentFromDescriptor(mainViewStack.childDescriptors[index],false);
  mainViewStack.validateNow();

 

代码如下:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
			   xmlns:s="library://ns.adobe.com/flex/spark" 
			   xmlns:mx="library://ns.adobe.com/flex/mx" creationComplete="init();">
	<s:layout>
		<s:VerticalLayout/>
	</s:layout>

	<fx:Script>
		<![CDATA[
			import mx.core.INavigatorContent;
			import mx.core.UIComponent;
			private function init():void {
				selectChildViewByIndex(panel1,0);
			}
			//创建ViewStack中的子View并显示
			private function selectChildViewByIndex(view:UIComponent,index:int):void {
				if(view == null){
					mainViewStack.createComponentFromDescriptor(mainViewStack.childDescriptors[index],false);
					mainViewStack.validateNow();
				}
				mainViewStack.selectedIndex = index;
			}
			
		]]>
	</fx:Script>
	
	<mx:ViewStack id="mainViewStack" creationPolicy="none">
		<s:NavigatorContent>
			<s:Panel id="panel1" title="panel1"/>
		</s:NavigatorContent>
		<s:NavigatorContent>
			<s:Panel id="panel2" title="panel2"/>
		</s:NavigatorContent>
		<s:NavigatorContent>
			<s:Panel id="panel3" title="panel3"/>
		</s:NavigatorContent>
	</mx:ViewStack>
	
	<s:HGroup>
		<s:Button label="show panel1" click="selectChildViewByIndex(panel1,0)"/>
		<s:Button label="show panel2" click="selectChildViewByIndex(panel2,1)"/>
		<s:Button label="show panel3" click="selectChildViewByIndex(panel3,2)"/>
	</s:HGroup>
	
</s:Application>
 

 

 

 

 

 

 

0
0
分享到:
评论

相关推荐

    FLEX4_Flex4教程 - FLEX4从入门到精通,挺不错的值得一看

    3. **Spark组件**:Flex4引入了全新的Spark组件集,相比以前的 Halo组件,Spark组件更注重可定制性、性能和视觉效果。开发者可以深入了解各种组件的属性、事件和样式,并根据需求进行自定义。 4. **States和...

    Flex3与flex4的区别

    不过,Flex4仍然保留了Flex3的Halo主题,可以通过设置编译参数来恢复Flex3的外观。 ### 总结 Flex4与Flex3之间的主要区别在于其引入的新组件和外观架构——Spark,以及在布局管理、状态使用、效果实现等方面的改进...

    Flex 4 高级编程 Flex 4 高级编程

    1. **Spark组件架构**:Flex 4引入了全新的Spark组件集,相较于先前的 Halo 组件,Spark组件更加灵活、可定制化,并且支持皮肤和样式分离,这极大地提升了UI设计的自由度和效率。 2. **图形和动画**:Flex 4 引入了...

    Flex 4的十大变化

    Flex 4,也被称为Gumbo,是Adobe Flex框架的一个重大更新,它引入了许多关键变化以提升RIA(Rich Internet Applications)的开发效率和用户体验。以下是Flex 4中的十大变化的详细说明: 1. **Adobe Catalyst集成**...

    flex4 学习资料

    3. **Spark组件库**:Flex4引入的新组件集,相比Flex3的 Halo 组件,Spark组件具有更好的可定制性和性能,且更符合设计模式。 4. **skins和styles**:Flex4中的皮肤(skins)和样式(styles)系统允许开发者自定义...

    Flex4 经典帮助文档

    Flex4引入了ActionScript4的一些概念,虽然最终发布的Flex SDK仍然基于ActionScript3,但AS3的类库和语法得到了扩展,支持了元数据、强类型和更丰富的错误处理机制。这使得代码更易于维护和调试,也提高了开发效率。...

    flex4.5.1.chm flex4API文档

    这个"flex4.5.1.chm"文件是一个完整的Flex 4 API文档,它是开发人员的重要参考资料,包含了大量的类库、函数、事件和接口的详细说明。 1. **Flex SDK**:Flex Software Development Kit (SDK) 是一个免费的开放源...

    flex4中文API帮助文档

    首先,Flex4 API引入了全新的Spark组件架构,相较于Flex3的 Halo 组件,Spark组件更加灵活且性能更优。Spark组件包括一系列基础组件,如Button、Label、Container等,以及更复杂的组件如ListView、Accordion等。这些...

    flex4学习资料

    3. **Spark组件架构**:Flex 4引入了Spark组件集,与先前的 Halo 组件相比,提供了更好的性能和更丰富的视觉效果。资料中可能包含如何创建和自定义Spark组件的教程。 4. **States和Effects**:Flex 4允许开发者轻松...

    Flex4 电视墙效果

    1. **Spark组件库**:Flex4引入了全新的Spark组件库,相比于Flex3中的 Halo 组件库,Spark组件提供了更好的样式和布局能力。电视墙效果通常会利用Spark组件,如VGroup或HGroup进行布局。 2. **布局管理器**:在创建...

    flex4权威指南

    此外,Flex4引入了Spark组件模型,相比早期的 Halo组件,Spark提供了更好的可定制性和性能。书中会详细解释如何使用和自定义这些组件,以实现美观且功能丰富的用户界面。 Flex4还支持数据绑定和数据服务,让开发者...

    Flex4中文帮助文档

    - **Spark组件**:Flex4引入的新一代组件集,提供了更高的性能和更多的自定义选项,与以前的 Halo组件相比,Spark组件更注重设计和分离的UI组件模型。 2. **Flash Builder 4**: - **集成开发环境**:提供代码...

    flex builder 4 help

    3. **Spark组件库**:Flex 4引入了全新的Spark组件集,相比之前的 Halo 组件,Spark组件提供了更丰富的视觉效果和更好的性能。Spark组件支持自定义样式和皮肤,让开发者能够创建具有独特外观的应用程序。 4. **...

    flex4新特性展示(中文版)

    ### Flex4新特性展示 #### 一、Adobe Flex 4 SDK及Framework Adobe Flex 4 SDK及Framework作为Adobe公司的核心产品之一,在版本更新中引入了一系列革新性改进和技术优化,为开发者提供了更为强大的功能和更佳的...

    flex4实现的简单相册实例

    3. **Spark组件**:Flex4引入了全新的Spark组件架构,相比Flex3的 Halo组件,Spark组件提供了更高级的外观和性能。在相册应用中,可能使用了`Image`组件来展示图片,`List`或`DataGrid`组件来显示图片列表。 4. **...

    FLEX4实战.pdf 中文完整版

    本资源为《FLEX4实战.pdf 中文完整版》,涵盖了Flex4的深度实践和详细教程,对于想要深入理解和掌握Flex4技术的开发者来说,是一份宝贵的参考资料。 在Flex4中,最重要的变化之一是对UI组件的革新。它引入了Spark...

    Flex4 AIP 中文说明

    1. **Spark组件架构**:Flex4引入了全新的Spark组件架构,与传统的 Halo 组件相比,Spark组件更加轻量级,具有更好的可定制性和性能。Spark组件基于MXML和ActionScript,允许开发者以声明式方式创建用户界面,同时...

    Flex4实战源代码

    1. **组件体系结构的改变**:Flex4引入了Spark组件架构,与之前的 Halo 组件架构并行存在。Spark组件更加模块化,允许开发者自定义组件样式和行为,提供了更好的性能和可扩展性。 2. **Skinning和Styling**:在Flex...

    flex4集成java

    Flex 4 是 Adobe 开发的一款用于构建富互联网应用程序(RIA)的框架,它基于 ActionScript 3 和 Flex SDK。与 Java 的集成使得开发者能够利用 Flex 的强大可视化和交互能力,同时借助 Java 后端的强大计算和数据处理...

    halo全教程.docx

    4. 使用`java -jar halo-latest.jar`命令启动Halo进行测试。如果一切正常,你可以在浏览器中访问`http://your_server_ip:8090`看到Halo的管理界面。 **四、开机自启动Halo** 为了使Halo在服务器启动时自动运行,...

Global site tag (gtag.js) - Google Analytics