希望能够帮助一些新人对flex的一些基本理解.
1:flex是否可以嵌入html?
可以,需要用到iframe,该iframe并非它定义好,而需要自己定义.
2:flex可否访问系统里的资源,比如C盘D盘文件?
不可以,AIR可以.
3:flex可否对文件进行操作?
不可以,它没IO的操作,需要调用java或其他语言对文件进行读写等.
4:为什么读取数据是Object object?
读取的数据类型为Object,建议转换成string.如果不行就debug查看object里是否还有很多层次,如果有再依次取出.
5:如何访问父级对象?
parentApplication.
6:如何去掉滚动条?
横条:horiz
竖条: verticalScrollPolicy="off"
7:flex默认编码是什么格式?
utf-8
8:为什么我后台jsp传回flex端为乱码?
request.getParameter("name").getBytes("ISO8859-1"), "utf-8"); 或 request.charaterset("UTF-8").
9:如何改变每根柱子的颜色?
<mx:series>
<mx:ColumnSeries ...
<mx:fill>
<mx:RadialGradient>
<mx:entries>
<mx:GradientEntry
color="#EF7651" />
<mx:GradientEntry
color="#994C34" ratio="1"/>
</mx:entries>
</mx:RadialGradient>
</mx:fill>
<!-一个fill为1根->
10:如何改变图片缩放大小?
可以使用Resize.
例:<mx:Resize id="particular2" widthBy="2" widthFrom="323" widthTo="-691" target="{canvas2}"/>
11:日期使用.
Date.getUTCMonth()//返回月
Date.getFullYear()//按照本地时间返回 4 位数字的年份数
Date.getDate()//按照本地时间返回某天是当月的第几天
Date.getDay() 按照本地时间返回某天是周几
关于显示格式可以使用format方法.
12:swf与swf之间可否交互?
可以,使用LocalConnection.
13:PopUpManager居中问题.
PopUpManager.centerPopUp(PopUpManager.createPopUp(DisplayObject(Application.application),TitleWindow,true);).
14:flex访问,解决安全限制,破沙河.
crossdomain.xml:
<?xml version="1.0" encoding="utf-8"?>
<cross-domain-policy>
<allow-access-from domain="*"/>
</cross-domain-policy>
存放在服务器和项目一起根目录下.*代表全部可以访问.
命名为crossdomain,flex默认读取.
15:flex可否接收键盘?
可以.首先XX.setFocus(),设置焦点在某容器/控件之上,
mc.addEventListener(KeyboardEvent.KEY_DOWN,keyIsDown);//添加响应事件
private function keyIsDown(evt:KeyboardEvent):void
{
//evt.keyCode键盘对应码
}
16:tree如何默认展开?
myTree.setIsOpen(myTree.getNodeDisplayedAt(0), true);//展开某个
var index = 0;
var node = TreFolder.getNodeDisplayedAt(index);
while(node != undefined){
TreFolder.setIsOpen(node,true);
index ++;
node = TreFolder.getNodeDisplayedAt(index);
}//true为全部展开false为全部手起
17:如何修改Alert样式?
字体为例:
<mx:Style>
Alert
{
fontSize:12;
}
</mx:Style>
18:如何改变鼠标的指针?
[Embed(source="hand.jpg")]
private var handCursorSymbol:Class;//定义图片
CursorManager.setCursor(handCursorSymbol);//进行设置
19.如何使用全屏模式?
stage.displayState = StageDisplayState.NORMAL;//还原
stage.displayState = StageDisplayState.FULL_SCREEN; //全屏
20如何制作自定义反键?
var myContextMenu:ContextMenu = new ContextMenu();
myContextMenu.hideBuiltInItems();
var item1:ContextMenuItem = new ContextMenuItem("item");
myContextMenu.customItems.push(item1);//加入右键
item1.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, menuItemSelectHandler1);//为item1添加点击响应
21:如何制作和使用swc?
new->Flex Library project.
在属性里选择Flex Library Build Path勾选你要编译的类//编译后bin里即是swc.
使用:找到要使用该swc的工程,属性,Flex Build Path,点击add swc即可.
http://www.riachina.com/showtopic-11341.aspx
22:如何使用ShareObject?
ShareObject就像cookies一样...
会生成一个文件来保存你所需要交互的数据...
提供方法:clear() //删除本地共享对象
flush() //立即把共享对象数据写入本地文件
getLocal()// 创建或连接本地共享对象;
23.Flex常用的数据交互.httpservice和webservice.(remote可查看Flex + LCDS + Java 入门教程)
1.使用httpservice
<mx:HTTPService id="myhttp" url="you httpservice url" result="doResult(event)" >
<mx:request xmlns="">
<username>
{xxx} //此处为你要传递给后台的参数,也可以不用request.(可选),还有其他写法,此为其1.
</username>
</mx:request>
</HTTPService>
private function doResult(evt:ResultEvent):void
{
//此处为myhttp send后,由后台传回的数据
}
2:使用webservice
ws一般都以wsdl存在....net里可以直接执行asmx查看和测试方法 java也提供了一个xml 工具达到同样效果.确定ws成功那么就可以开始编写flex来通讯了.
<mx:WebService id="FlexSite" wsdl="http://localhost/FlexSite/Server2Flex.asmx?wsdl" showBusyCursor="true" useProxy="false">
<mx:operation name="HelloWorld" result="onWs(event)"> <!--这里对应WEBSERVICE的方法名,在我的WS里有HelloWorld暴露方法-->
<mx:request> <!--接收方法参数-->
<mx:UserName>//参数名
{name}//参数值
</mx:UserName>
</mx:request>
</mx:operation>
</mx:WebService>
private function onWs(event:ResultEvent):void
{
//得到ws的返回....
}
FlexSite.HelloWorld.send();//调用HelloWorld方法,利用onWs接收返回值
24. 经常有些人问哪种速度块些,简单做了测试列举如下
httpservice,webservice,json,remote(.net)数据服务时间比较。
名称 1 2 3 4 5 平均(s)
JSON 1672 828 765 797 807 0.9738
httpservice 2610 2547 2485 2375 2500 2.5034
webservice 2657 2328 2797 2511 2375 2.5336
remote 437 360 344 454 411 0.4012
10000条数据测试结果
25:实现类似HTML里的<A>标签的超链接功能.
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:view="view.*" creati>
<mx:String id="test">
<![CDATA[<a href="event:"><u>click</u></a> label]]>
</mx:String>
<mx:Script>
<![CDATA[
import mx.controls.Label;
import mx.controls.Alert;
private function initApp():void
{
var lbl:Label = new Label();
lbl.htmlText = test;
lbl.selectable = true;
lbl.addEventListener(TextEvent.LINK, label_link);
this.addChild(lbl);
}
private function label_link(evt:TextEvent):void {
Alert.show("click .");
//这里处理你要进行的跳转
}
]]>
</mx:Script>
</mx:Application>
flex技术总结,转帖,找不到帖子的源头了
最新推荐文章于 2023-05-07 10:18:08 发布