加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

flex常见实在汇总(二)

发布时间:2020-12-15 01:00:28 所属栏目:百科 来源:网络整理
导读:1:flex是否可以嵌入html? 可以,需要用到iframe,该iframe并非它定义好,而需要自己定义. 2:flex可否访问系统里的资源,比如C盘D盘文件? 不可以,AIR可以. 3:flex可否对文件进行操作? 不可以,它没IO的操作,需要调用java或其他语言对文件进行读写等. 4:为
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”


8:flex默认编码是什么格式?

utf-8


9:为什么我后台jsp传回flex端为乱码?

request.getParameter(”name”).getBytes(”ISO8859-1″),“utf-8″);? 或??? request.charaterset(”UTF-8″).


11:如何改变每根柱子的颜色?

? <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根->


12:如何改变图片缩放大小?

可以使用Resize.

例:<mx:Resize id=”particular2″ widthBy=”2″? widthFrom=”323″? widthTo=”-691″ target=”{canvas2}”/>


13:日期使用.

Date.getUTCMonth()//返回月

Date.getFullYear()//按照本地时间返回 4 位数字的年份数

Date.getDate()//按照本地时间返回某天是当月的第几天

Date.getDay() 按照本地时间返回某天是周几

关于显示格式可以使用format方法.


14:swf与swf之间可否交互?

可以,使用LocalConnection.


15:PopUpManager居中问题.

PopUpManager.centerPopUp(PopUpManager.createPopUp(DisplayObject(Application.application),TitleWindow,true);).


16:flex访问,解决安全限制,破沙河.

crossdomain.xml:

< ?xml version=”1.0″ encoding=”utf-8″?>

< cross-domain-policy>

? <allow-access-from domain=”*”/>

< /cross-domain-policy>

存放在服务器和项目一起根目录下.*代表全部可以访问.

命名为crossdomain,flex默认读取.


17:flex可否接收键盘?

可以.首先XX.setFocus(),设置焦点在某容器/控件之上,

mc.addEventListener(KeyboardEvent.KEY_DOWN,keyIsDown);//添加响应事件

private function keyIsDown(evt:KeyboardEvent):void

{

??????? //evt.keyCode键盘对应码

}


18: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为全部手起


19:如何修改Alert样式?

字体为例:???????

<mx:Style>

??????? Alert

??????? {

??????????????? fontSize:12;

??????? }

< /mx:Style>


20:如何改变鼠标的指针?

[Embed(source=”hand.jpg”)]

private var handCursorSymbol:Class;//定义图片


CursorManager.setCursor(handCursorSymbol);//进行设置


21.如何使用全屏模式?

stage.displayState = StageDisplayState.NORMAL;//还原

stage.displayState = StageDisplayState.FULL_SCREEN; //全屏


22.如何制作自定义反键?

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添加点击响应


23:如何制作和使用swc?

new->Flex Library project.

在属性里选择Flex Library Build Path勾选你要编译的类//编译后bin里即是swc.

使用:找到要使用该swc的工程,属性,Flex Build Path,点击add swc即可.

http://www.riachina.com/showtopic-11341.aspx


24:如何使用ShareObject?

ShareObject就像cookies一样…

会生成一个文件来保存你所需要交互的数据…

提供方法:clear() //删除本地共享对象

flush() //立即把共享对象数据写入本地文件

getLocal()// 创建或连接本地共享对象;


25.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接收返回值


26. 经常有些人问哪种速度块些,简单做了测试列举如下

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条数据测试结果???????????????????????????????????????

???????????????????????????????????????????????????????

???????????????????????????????????????????????????????

???????????????????????????????????????????????????????

27:实现类似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>



.问:在as2中trace(mc._url)可以获得文件的位置,那么在as3中改成什么了? ?? 答:DisplayObject.loaderInfo.parameters 2.问:FLEX中如何快速注释? ?? 答:shift+ctrl+c??????? /?? shift+ctrl+d 加AS3代码注解块 3.问:FLEX中除了上面的快捷键还有中哪些? ?? 答:Ctrl-F11: 执行(Run) F11: 除错(Debug) Ctrl-D: 删除本列(Delete line ) Alt-/: 文字自动完成 4.问:当我用addChild加入一个MC后,怎样才能得到这个MC的全局坐标呢? ? 答:mc.getBounds(stage)????? /???????? stage.localToGlobal(mc) 5.问:as3中如何设置拖动,as2这样的mc.onPress=function(){startDrag(mc,false,10,100,110,100);} ? 答:mc.addEventListener(MouseEvent.MOUSE_DOWN,onMouseDown); ?????? function onMouseDown(e:MouseEvent):void{ ?????????? var t:Sprite = e.target as Sprite; ?????????? t.startDrag(mc,100); ?????? } 6.问:Flex如果修改组件样式? ?? 答:和as2里差不多.如:Alert组件,新建两个样式。 <mx:Style> AlertTitle{ ??? font-size: 12pt; ??? font-weight: bold; } AlertMessage{ ??? font-size: 12pt; } < mx:Style/> Alert.titleStyleDeclaration = "AlertTitle"; Alert.messageStyleDeclaration = "AlertMessage"; // ToolTip就只要建立样式就行了.<mx:TextInput width="500" toolTip="请填写公司全称" /> ToolTip { ???? font-size: 12pt; } 7.问:HTTPService是不是只可以得到XML数据格式的数据? ?? 答:不是 8.问:HTTPService是不是可以请求a.xml? ?? 答:可以,任何的都行. 9:问:如何在运行时加载数据 ?? 答:将creationComplete方法添加到应用程序标签里后---creationComplete="productsRequest.send() 10:问:FLEX如何跳转页面? ???? 答:click="navigateToURL(new URLRequest(http://www.ialway.com));" 11:问:怎么判断datagrid的selectitem是否为空? ???? 答:就是selectindex是不是等于-1. 12:问:datagrid中可以多选几行吧,如何设参数? ???? 答:allowDragSelection="true"? allowMultipleSelection="true" 13:embed标签只能用flex编译的时候用,在flash9中编译无效 14:问:eval的问题,as3没有eval了,有什么替代方法? ???? 答:类似这样的: for (var i:uint=0; i<10; i++) { ??????? (getChildByName("mytext"+i) as TextField).text=i.toString() }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读