sxw5like

常用链接

统计

最新评论

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”

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,false,10,100,110,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()

}

posted on 2012-04-19 10:09 小文 阅读(84) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: