`

Flex 学习小结(7)

阅读更多

1 日历控件中,格式化日期:
DateField.dateToString(birthday_dtf.selectedDate,"YYYY年MM月DD日")
<mx:DateField id="birthday_dtf" yearNavigationEnabled="true" formatString="YYYY年MM月DD日"/>

2 popupmenu自定义弹出菜单的使用
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()">
<mx:Script>
<![CDATA[
//导入需要的包
import mx.controls.Menu;
import mx.events.MenuEvent;
import mx.controls.Alert;
import flash.geom.Point;
import flash.events.MouseEvent;
//声明一个标明鼠标位置的类
private var point1:Point = new Point();
//声明菜单
private var myMenu:Menu;
//定义弹出菜单函数
private function showMenu(event:MouseEvent):void {
//创建弹出菜单,指明弹出菜单得内容
myMenu= Menu.createMenu(panel, myMenuData, false);
//指明弹出菜单,显示的字段
myMenu.labelField="@label"
//指明点击菜单项时响应的函数
myMenu.addEventListener("itemClick", menuHandler);
//得到鼠标的位置并弹出菜单
point1.x=event.stageX;
point1.y=event.stageY;
myMenu.show(point1.x , point1.y);
}
//定义函数响应点击菜单事件
private function menuHandler(event:MenuEvent):void {
//定义一个连接请求URLRequest对象实例
var searchRequest:URLRequest;
//如果点击删除菜单
if(mailto:event.item.@eventName==%22delete")
{
//清空source_txa内容
source_txa.text="";
}
//如果点击百度搜索菜单
else if(mailto:event.item.@eventName==%22baidu")
{
//使用百度搜索source_txa.text内容
searchRequest = new URLRequest("http://www.baidu.com/baidu?word="+source_txa.text);
//打开搜索结果页面
navigateToURL(searchRequest);
}
//如果点击Google搜索菜单
else if(mailto:event.item.@eventName==%22google")
{
//使用Google搜索source_txa.text内容
searchRequest = new URLRequest("http://www.google.cn/search?q="+source_txa.text);
//打开搜索结果页面
navigateToURL(searchRequest);
}
}
//初始化函数
private function init():void{
//设定监听source_txa组件的点击函数
source_txa.addEventListener(MouseEvent.CLICK,showMenu);
}
]]>
</mx:Script>
<!-- 设定菜单内容的数据-->
<mx:XML id="myMenuData">
<root>
<menuitem label="删除" eventName="delete"/>
<menuitem label="搜索" eventName="search">
<menuitem label="使用百度" eventName="baidu"/>
<menuitem label="使用google" eventName="google"/>
</menuitem>
</root>
</mx:XML>
<!--定义Panel作为菜单的容器 -->
<mx:Panel id="panel" width="60%" height="60%" layout="horizontal" horizontalCenter="0" verticalCenter="0" title="弹出菜单">
<mx:Form width="50%">
<mx:FormHeading label="弹出菜单演示"/>
<mx:FormItem label="说明">
<!--定义TextArea组件响应点击事件 -->
<mx:TextArea id="source_txa" editable="false" selectable="false" text="Flex入门"/>
</mx:FormItem>
</mx:Form>
</mx:Panel>
</mx:Application>

3 响应tree的点击事件

比如有个tree,数据的提供者为xml,要点树的某项,然后在datagrid中显示树的内容,则可以这样:

<mx:XML id="treeNode_xml">
<folder label="邮件" data="Mail">
<folder label="收件箱" data="Inbox"/>
<folder label="个人文件夹" data="Person">
<Pfolder label="商务信件" data="Business" />
<Pfolder label="私人信件" data="Private"/>
<Pfolder label="其他" data="Other"/>
</folder>
<folder label="已删除" data="Delete" />
</folder>
</mx:XML>

//定义函数响应Tree组件改变节点的属性
private function ListMailCatelog():void{
//得到mail_arrclo当中的数据
var allArray:Array=mail_arrclo.toArray();
//通过过滤函数过滤出符合条件的数据
var curArray:Array=allArray.filter(CateLogFilter);
mail_dg.dataProvider=curArray;
}
//定义回调函数处理Array的数据过滤
private function CateLogFilter(element:*, index:int, arr:Array):Boolean {
return (element.Catelog == mail_tree.selectedItem.@data);
}

]]>
</mx:Script>
<mx:ArrayCollection id="mail_arrclo">
<mx:Object>
<mx:Sender>郭靖</mx:Sender>
<mx:Title>升职报告</mx:Title>
<mx:Date>2007-07-07</mx:Date>
<mx:Catelog>Business</mx:Catelog>
</mx:Object>

4 advanced datagrid组件
<mx:Array id="People">
<mx:Object Name="郭靖" sex="男"
neigong="95" zhaoshu="90" bingqi="80" email="mailto:gj@shediao.com%22/>
<mx:Object Name="杨过" sex="男"
neigong="95" zhaoshu="90" bingqi="90" email="mailto:yg@shendiao.com%22/>
<mx:Object Name="小龙女" sex="女"
neigong="80" zhaoshu="85" bingqi="85" email="mailto:xln@shediao.com%22/>
</mx:Array>
<mx:AdvancedDataGrid dataProvider="{People}" horizontalCenter="0" verticalCenter="0" variableRowHeight="true" editable="true">
<mx:groupedColumns>
<mx:AdvancedDataGridColumn headerText="姓名" dataField="Name" textAlign="center" editable="true"/>
<mx:AdvancedDataGridColumn headerText="性别" dataField="sex" textAlign="center" editorDataField="text">
<mx:itemEditor>
<mx:Component>
<mx:ComboBox>
<mx:dataProvider>
<mx:ArrayCollection>
<mx:String>男</mx:String>
<mx:String>女</mx:String>
</mx:ArrayCollection>
</mx:dataProvider>
</mx:ComboBox>
</mx:Component>
</mx:itemEditor>
</mx:AdvancedDataGridColumn>
<mx:AdvancedDataGridColumnGroup headerText="成绩" textAlign="center">
<mx:AdvancedDataGridColumn headerText="内功" dataField="neigong" textAlign="center" editorDataField="value">
<mx:itemEditor>
<mx:Component>
<mx:NumericStepper stepSize="1" maximum="100"/>
</mx:Component>
</mx:itemEditor>
</mx:AdvancedDataGridColumn>
<mx:AdvancedDataGridColumn headerText="招数" dataField="zhaoshu" textAlign="center" editorDataField="value">
<mx:itemEditor>
<mx:Component>
<mx:NumericStepper stepSize="1" maximum="100"/>
</mx:Component>
</mx:itemEditor>
</mx:AdvancedDataGridColumn>
<mx:AdvancedDataGridColumn headerText="兵器" dataField="bingqi" textAlign="center" editorDataField="value">
<mx:itemEditor>
<mx:Component>
<mx:NumericStepper stepSize="1" maximum="100"/>
</mx:Component>
</mx:itemEditor>
</mx:AdvancedDataGridColumn>
</mx:AdvancedDataGridColumnGroup>
<mx:AdvancedDataGridColumn width="150" headerText="电子邮件" dataField="email" textAlign="center" editable="false" >
</mx:AdvancedDataGridColumn>
</mx:groupedColumns>
</mx:AdvancedDataGrid>
注意,advanceddatagrid组件里,可以用advanceddatagridgroup来对其进行分组管理
5 简单播放器
<mx:Script>
<![CDATA[
//声明一个标志变量标示但前播放状态,用于按钮内容的切换
private var playFlag:Boolean=false;
//定义函数响应VideoDisplay组件的ready事件
private function content_load():void{
//设定显示内容进度滑动条的最小值
content_hsl.minimum=0;
//设定显示内容进度滑动条的最大值为视频的时间长度
content_hsl.maximum=content_vd.totalTime;
//设定声音大小的初始值
content_vd.volume=sound_hsl.value;
}
//定义函数响应播放控制按钮的click事件
private function playORpause():void{
//如果当前为暂停状态
if(playFlag){
//视频内容播放
content_vd.play();
//设定状态
playFlag=false;
//设定按钮标识
palyOrPause_btn.label="||";
}
else{
//视频内容暂停
content_vd.pause();
//设定状态
playFlag=true;
//设定按钮标识
palyOrPause_btn.label=">";
}
}
//设定函数响应VideoDisplay组件的playheadUpdate事件
private function playVideoProgress():void{
//设定滚动条的位置
content_hsl.value=content_vd.playheadTime;
//设定显示内容的文本
contentPro_lab.text=int(content_vd.playheadTime)+"/"+int(content_vd.totalTime);
}
//设定函数响应HSlider组件的change事件,响应改变视频播放的位置
private function setPlayPos():void{
//设定当前视频播放的位置
content_vd.playheadTime=content_hsl.value;
}
//设定函数响应HSlider组件的change事件,响应改变声音大小
private function setSound():void{
//设定声音大小
content_vd.volume=sound_hsl.value;
}
]]>
</mx:Script>
<mx:VideoDisplay id="content_vd" progressInterval="250" horizontalCenter="0" verticalCenter="0" width="232" height="178" source="test.flv"

playheadUpdate="playVideoProgress()" ready="content_load()"/>
<mx:Button label="■" horizontalCenter="-88" verticalCenter="123" click="content_vd.stop();"/>
<mx:Button id="palyOrPause_btn" label="||" horizontalCenter="-37" verticalCenter="122" click="playORpause()"/>
<mx:HSlider id="content_hsl" width="232" height="31" horizontalCenter="0" verticalCenter="102.5" change="setPlayPos()"/>
<mx:HSlider id="sound_hsl" width="77" height="22" horizontalCenter="78" verticalCenter="122" minimum="0" maximum="1" change="setSound()"

value="0.618"/>
<mx:Label id="contentPro_lab" text="0/0" horizontalCenter="87" verticalCenter="113" width="59"/>
<mx:Label text="声音" fontSize="12" horizontalCenter="29" verticalCenter="126"/>

 

 

viewstack的用法:
<mx:Panel horizontalCenter="0" verticalCenter="0" width="468" height="349" title="射雕英雄传人物简介">
<mx:Text width="100%" color="blue" text="通过点击按钮查看人物信息" fontSize="12"/>
<mx:HBox borderStyle="solid" width="100%"
paddingTop="5" paddingLeft="5" paddingRight="5" paddingBottom="5">
<!-- 通过button的click事件来控制子容器的切换 -->
<mx:Button id="ouyangfen_Button" label="欧阳风"
click="myViewStack_vs.selectedChild=ouyangfeng_cvs;"/>
<mx:Button id="yidengdashi_Button" label="一灯大师"
click="myViewStack_vs.selectedChild=yidengdashi_cvs;"/>
<mx:Button id="hongqigong_Button" label="洪七公"
click="myViewStack_vs.selectedChild=hongqigong_cvs;"/>
<mx:Button id="huanglaoxie_Button" label="黄老邪"
click="myViewStack_vs.selectedChild=huanglaoxie_cvs;"/>
</mx:HBox>
<mx:ViewStack id="myViewStack_vs" width="100%" height="242">
<!-- 为ViewStack容器添加子容器 -->
<mx:Canvas id="ouyangfeng_cvs" label="欧阳风" backgroundColor="#00ffcc"

width="100%" height="100%">
<!-- label中text的属性就是我们显示的信息内容 -->
<mx:Label text="射雕英雄传中的西毒" fontSize="14"/>
</mx:Canvas>
<mx:Canvas id="yidengdashi_cvs" label="一灯大师" backgroundColor="#FFCCEE"

width="100%" height="100%">
<mx:Label text="射雕英雄传中的南帝" fontSize="14"/>
</mx:Canvas>
<mx:Canvas id="hongqigong_cvs" label="洪七公" backgroundColor="#00ccff"

width="100%" height="271">
<mx:Label text="射雕英雄传中的北丐" fontSize="14"/>
</mx:Canvas>
<mx:Canvas id="huanglaoxie_cvs" label="黄老邪" backgroundColor="#0022dd"

width="100%" height="252">
<mx:Label text="射雕英雄传中的东邪" fontSize="14"/>
</mx:Canvas>
</mx:ViewStack>
</mx:Panel>
8 TAB控件:
<!-- 为TabNavigator容器添加子容器 -->
<mx:Canvas label="洪七公" width="250" height="100%">
<!-- label中text的属性就是我们显示的信息内容 -->
<mx:Label text="abc" fontSize="14"></mx:Label>
</mx:Canvas>
<mx:Canvas label="def" width="247" height="100%">
<mx:Label text="dddd" fontSize="14"/>
</mx:Canvas>

分享到:
评论

相关推荐

    flex 学习网址

    #### 小结 以上就是针对“flex 学习网址”的五个推荐资源。这些资料涵盖了Flex从基础知识到进阶技巧、再到实战案例的完整学习路径。无论是初学者还是有一定经验的开发者都能从中受益匪浅。希望各位通过阅读这些内容...

    FLEX从入门到精通.pdf

     1.4 本章小结  第2章 Flex3生态系统  2.1 Flex历史简介  2.2 Adobe Flex3生态系统,  2.2.1 运行时  2.2.2 语言  2.2.3 框架和API  2.2.4 数据通信  2.2.5 服务器  2.3 Adobe Flex RIA工作...

    如何在Flex中使用profile的教程

    #### 七、小结 Adobe Flex Profiler是开发者进行Flex应用性能分析的重要工具。通过本教程的学习,相信您已经掌握了如何使用Adobe Flex Profiler的基本流程。希望这些信息能够帮助您更好地理解并优化您的Flex应用...

    Flex中文帮助文档

    总的来说,这个压缩包提供的资料是一份全面的Flex学习资源,不仅覆盖了Flex的基础知识,还包含了实际项目开发的经验分享,对于想要深入理解和应用Flex的开发者来说,具有很高的参考价值。通过阅读和实践这些文档,...

    flex中tree的数据源是xml

    #### 小结 通过以上步骤,我们可以清晰地看到从数据库查询到生成XML文件的整个过程。这种方式不仅实现了数据的有效管理和传递,还极大地提高了Flex应用程序的灵活性和性能。对于开发者而言,掌握这种方法有助于更好...

    Maven构建全栈式Flex、BlazeDS和Spring集成解决方案–第一部分_创建Maven_Flex模块

    #### 四、小结 通过上述步骤,我们可以成功构建一个完整的Flex、BlazeDS和Spring集成解决方案。这一集成方案不仅能够实现前端Flex与后端Spring的有效通信,还能够利用BlazeDS提供的远程服务功能,使得整个系统的...

    flex的mxml语言基础

    **小结** 总的来说,Flex项目由MXML和ActionScript协同完成,MXML负责界面展示,ActionScript负责逻辑处理。命名空间作为类的组织方式,避免了类名冲突。掌握MXML的基础知识,对于高效开发Flex应用至关重要。通过...

    关于打地鼠的Flex代码

    #### 小结 该Flex代码示例展示了如何使用Flex框架来实现一个简单的打地鼠游戏。通过对变量的管理和事件处理的合理安排,不仅确保了游戏逻辑的清晰性,还提高了用户体验。对于学习Flex编程的新手来说,这是一个很好的...

    Flex从入门到实践2

    5. **小结与习题** 本章总结了导航组件的关键应用,强调了视图间的切换方法,并提出了几个关于如何使用这些组件设计导航的问题,以供读者巩固学习。 接下来,我们转向菜单设计。菜单是功能导航的重要组成部分,...

    Wiley.Adobe.Flash.Builder.4.and.Flex.4.Bible.Apr.2010.rar

    每个章节结尾通常会有小结和练习题,帮助巩固学习成果。对于想要深入掌握Flash Builder 4和Flex 4的开发者来说,这是一本不可多得的参考书。 总之,《Wiley Adobe Flash Builder 4 and Flex 4 Bible》涵盖了Flash ...

    CSS3小结

    **CSS3小结** 在网页设计领域,CSS3(Cascading Style Sheets Level 3)是HTML和XML文档样式表语言的最新版本,它极大地扩展了CSS2.1的功能,引入了许多新的特性和改进,使得网页设计更加丰富多彩,更具表现力。本...

    Web前端技术项目式教程(HTML5 CSS3 Flex Bootstrap)教案-美化网页.pdf

    4. **任务小结**:总结本课内容,巩固所学知识。 【教学资源】 1. **装有SublimeText3的电脑**:提供编写和测试代码的环境。 2. **教学课件PPT**:辅助教学,展示实例和讲解内容。 3. **教材**:《Web前端技术项目...

    AS3学习笔记flashdevelop平台搭建配置.pdf

    7. 小结 本学习笔记对FlashDevelop平台的搭建和配置进行了详细的介绍,并对其中涉及到的知识点进行了详细的解释。通过本学习笔记,读者可以快速掌握FlashDevelop平台的使用和配置,提高Flash项目的开发效率。

    css网页布局中注意的几个问题小结

    以下是对"css网页布局中注意的几个问题小结"的详细解释: 一、避免使用不常见的CSS属性和技巧 一些特殊的CSS属性如`break-word`用于强制换行,`z-index`用于元素的层叠顺序,以及各种垂直对齐方法,虽然在某些情况...

    CSS布局最常见的八条错误小结

    了解并掌握clear、display:flex或grid布局方法,可以更有效地管理元素的定位。 通过深入理解这些常见错误及其解决方案,开发者能够编写出更加高效、稳定且易于维护的CSS布局代码,从而提高网站的用户体验。定期检查...

    一波CSS+Div实用技巧小结

    在网页设计中,CSS(层叠样式表)和Div元素是构建页面布局的重要工具。本文主要总结了一些关于CSS+Div的实用技巧,旨在帮助开发者提高工作效率,优化...在实际开发中,不断学习和实践新的CSS技术是保持竞争力的关键。

    bootstrap总结与例子

    7. **表单控件** (`form controls`): Bootstrap提供了 `.form-control` 类,用于美化输入框、选择器和按钮等表单元素。 8. **按钮** (`buttons`): `.btn` 类用于创建各种类型的按钮,通过添加 `.btn-primary`、`....

    Maven权威指南 很精典的学习教程,比ANT更好用

    小结 4. 定制一个Maven项目 4.1. 介绍 4.1.1. 下载本章样例 4.2. 定义Simple Weather项目 4.2.1. Yahoo! Weather RSS 4.3. 创建Simple Weather项目 4.4. 定制项目信息 4.5. 添加新的依赖 4.6. ...

Global site tag (gtag.js) - Google Analytics