BBY-Flex笔记第一篇

编译参数
默认:-locale zh_CN
工程中:-locale en_US -compiler.source-path=locale/{locale}
ArrayCollection的filterFunction
把数据从后台一次过取出来,在flex端再进行条件筛选。
在flex端使用datagrid来做表格呈现数据,后台数据存入ArrayCollection,设置filterFunction,对于filterFunction,写过滤函数,返回boolean类型。其中传入一个item参数,这个item就是ArrayCollection里面的Object。
Flex视频记录
HTTPService
resultFormat=”e4x”
result=”handler(event)”;

new Array();
new ArrayCollection();
SortField:排序字段;

Xml操作
引用xml属性时用@,如p.@name;
引用标签属性用“{volSlider.value}” dropShadowEnabled="{checkBox.selected}">
引用标签方法用“myPlayer.play();”
var tempxml:XML = teamxml..*.(attribute("organCode") == organcode)[0];

组件字体设置
setStyle("fontWeight","normal") 字体粗体、细体
setStyle("fontFamily","xxxxx")字体名字
setStyle("fontSize","10");字体大小
setStyle("color","0xFFFFFF");字体颜色

自定义AS样式设置方式
(1) Button{skinClass: ClassReference
("com.rianote.flex.skin.KButton");}
(2)<Button skinClass="com.rianote.flex.skin.KButton"/>
(3)myButton.setStyle("skinClass", Class(KButton));

Flex开发工具破解版过期解决方式
Adobe Flash Builder 4 每次打开的时候都会自动到网络上验证,如果不连接互联网及没有问题。
或者更改C:\Windows\System32\drivers\etc\hosts 文件增加如下即可
127.0.0.1 activate.adobe.com
布局
Flex外部组件通常采用约束布局(%),最底层组件采用绝对布局(x,y),绝对布局时注意右-x大;下-y大;汉字个数*17=组件尺寸(约等);只有Canvas支持绝对布局,即指定x、y坐标。
居中样式设置
自身:horizontalCenter="0" verticalCenter=”0”
内部:horizontalAlign="center" verticalAlign="middle"
遍历对照
for(Iterator station =stations.iterator();
station.hasNext(); ){
VDisareastation vr =
(VDisareastation)station.next();}

for each(var obj:Object in Arr){}
事件阶段
捕获阶段(capture)
在这个阶段,Flash Player会去查找事件的触发源,它是通过根显示元素(root display object)逐层向下寻踪,直到找到事件的发起源头,如你在button上click后,Flash Player找到的事该button对象。在这个阶段监视器(listener)默认是不会收到任何消息的(默认只在target和bubble阶段收到消息)。
如果你想在捕获阶段让listener收到消息并有所动作,那么你可以在注册的时候改变第三个参数为true,如下面的方法:object.addEventListener(MouseEvent.CLICK, onClick, true);
该阶段听起来很陌生,事实上它很少使用。但它却在事件流中扮演很重要的角色。它可以在事件到达子元素(child elements)之前被application捕获,当然也就可以阻 止事件到达子元素。
目标执行阶段(target)
在这个阶段是事件的执行阶段,也就是我们常用的用来处理事件流的代码
冒泡阶段(bubble)
最后的这个阶段其实就是第一个阶段的逆向过程。它就是在事件代码执行完毕后通过子元素逐级向父元素发出该事件,一直到根元素。在这个阶段你不需要特别的为监听器指定什么,你只要正常的注册事件就可以了。监听器会在该阶段收到通知。但前提是该事件是能够bubble的。

Java重载函数最好不要映射到Flex
Flex读取配置文件方式
1、标签加载配置文件:<mx:Model source=”mapConfig.xml”/>
简便,稳定,内容会编译到swf文件中,改变配置文件不会对应用造成影响
2、URLoader方式
可随时更改配置文件参数,不需重新编译即可生效。
Flex页面切换时需要的清理
1、 消息
2、 定时器
3、 等页面状态

图片缩放
Image指定width或height百分比时,图片自身会按比例缩放,指定scaleContent=false时图片不按比例缩放,并且不缩放,然后可手动调整Image与content尺寸,如
upImg2.scaleContent = false;
upImg2.width = upW-w*2;
upImg2.height = w;
upImg2.content.width = upW-w*2;
upImg2.content.height = w;
Image组件complete完成后表示图片源加载完,content (真正的图片)不为NULL;
如下实例:
Var img:Image = new Image();
Img.width = 44;

据自身经验,改变Image组件尺寸,对Image.contentWidth的值有影响,如上例,Image.width=36时,Image.contentWidth=34.85而且在不同分辨率下这一值是相同的(前提是Image.height=19不变).
组件优先创建
creationPolicy="queued" creationIndex="6"
将组件放到顶层方法
function toTop(obj:UIComponent):void{
if(obj.parent){
var parent:UIComponent = UIComponent(obj.parent);
parent.swapChildren(obj,parent.getChildAt(parent.numChildren-1));
if(!(parent is Application)){
toTop(parent);
}
}
}
文件名、输出文件夹名等略,注意如下几处

手动修改工程里如下文件:

Flex工程复制改名
需要修改的地方在eclipse下有一个test1 WEB工程,如果想复制这个工程,并且把工程名改为test2。那么当在tomcat里添加此工程时,发现有两个test1工程,而工程test2却没有看到。这时需要修改org.eclipse.wst.common.component配置文件。到test2工程下,找到.settings文件夹中的org.eclipse.wst.common.component配置文件,把这个配置文件中的<wb-module deploy-name="test1">与<property name="context-root" value="test1"/>两处的test1改成test2就OK了。再刷新eclipse。
类型转换
String和int(Number)之间类型转换用强制方式String(num),Number(str)
绑定
1、 数据源绑定
[Bindable]
2、 动态绑定(fun,a,b)-a.b改变时执行fun
BindingUtils.bindSetter(selectdg,DataModel.getInstance(),"selectedCarInfo");
动态绑定
BindingUtils.bindSetter(changeLevel,DataModel.getInstance(),"maplevel");//mapLevel是DataModel.getInstance类中的参数
public function changeLevel(str:String):void{}
图表上画线
GPSPointArr.addItem({revtime:time,speed:gps.speed,longitude:gps.longitude,latitude:gps.latitude,direction:gps.direction});

<mx:LineChart x="35" y="35" id="mychart" height="120" width="100%"
paddingRight="5" paddingLeft="5" name="lineChart"
dataProvider="{GPSPointArr}" itemClick="mychart_itemClickHandler(event)"
showDataTips="true" buttonMode="true" >
<mx:horizontalAxis>
<mx:DateTimeAxis id="dateAxis" dataUnits="seconds" parseFunction="{parseToDate}" labelFunction="mylabel"/>
</mx:horizontalAxis>
<mx:verticalAxis>
<mx:LinearAxis baseAtZero="true" interval="50"/>
</mx:verticalAxis>
<mx:series>
<mx:LineSeries id="lineSeries" yField="speed" xField="revtime" form="curve" maxWidth="{GPSPointArr.length*15}" displayName="速度:" lineStroke="{new Stroke(0x0000FF, 0.2, 1)}"/>
</mx:series>
</mx:LineChart>
网站
Flex3和4的区别
http://www.cnblogs.com/orchid/archive/2009/07/16/1524643.html
1.http://www.adobe.com/devnet/flex/quickstart/your_first_application/?promoid=BSQXZ
官网的 flex quick start系列不错
2.http://www.adobe.com/devnet/flex/flex_java.html
这里是flex and java
3.http://blog.minidx.com/
这个网站有很多flex的小例子,是初学者必备。
4.http://flex.org/showcase/
这个网站有300多个例子,可以当作界面参考
5.http://flexbox.mrinalwadhwa.com/
这里讲了很多flex控件的用法
flex消息服务实例
http://hi.baidu.com/ls_mcx/blog/item/eff72763d8c347d7e6113a5c.html
http://www.itqun.net/content-detail/139728.html
HDividedBox与VDividedBox的分隔条样式设定
http://www.javaeye.com/topic/460676
httpservice-urlloader
http://apps.hi.baidu.com/share/detail/7283771
Flex三类坐标
http://hereson.javaeye.com/blog/413907
Flex为label添加边框
http://www.flexrain.cn/flex/flex-label-border.html
Flex开发技巧
http://www.cnblogs.com/riafans/archive/2009/05/04/1448879.html
Flex常用的十二个技巧
http://www.04js.cn/content.asp?id=1729
Html/Window(wmode)属性
http://blog.chinaacc.com/kidliu/blog/20100421-2109274531303.html
Flex十大调试工具和框架
http://flashchina.blog.sohu.com/106899940.html
Flex调试工具Flexspy
http://libran.javaeye.com/blog/316055
Flash player版本检测
http://kb2.adobe.com/cps/155/tn_15507.html
Flex效果资源网
http://www.scalenine.com/
Flex入门实例(包括各种组件、效果)
http://examples.adobe.com/flex3/componentexplorer/explorer.html
Flex样式浏览器
http://www.adobe.com/devnet/flex/samples/style_explorer.html
基于Flex的进销存系统演示地址
http://www.tangusoft.com/Demo/
实例网址
http://gnczny.com/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值