读书人

怎么获得mxml中定义的对象并设置vis

发布时间: 2012-02-20 21:18:24 作者: rapoo

如何获得mxml中定义的对象,并设置visible属性
mxml里load两个swf。如果在init方法里想获得这两个swf对象,并设置其中一个visible属性为true。如果处理呢?

XML code
<?xml version="1.0" encoding="utf-8"?><s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"                xmlns:s="library://ns.adobe.com/flex/spark"                xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"               initialize="" applicationComplete="init();">    <s:layout>        <s:BasicLayout/>    </s:layout>    <fx:Declarations>        <!-- 将非可视元素(例如服务、值对象)放在此处 -->    </fx:Declarations>    <mx:SWFLoader id="center01" source="image/AlarmSample.swf" x="870" y="250" visible="false"/>    <mx:SWFLoader id="center02" source="image/AlarmSample.swf" x="1000" y="385" visible="false"/>    <fx:Script>        <![CDATA[            import mx.collections.ArrayCollection;            var data:ArrayCollection=new ArrayCollection([    ]);                            private function init(centerid:String,arvrtime:int):void{                        }                ]]>    </fx:Script></s:Application>


[解决办法]
this["center01"]这种方法可以,个人感觉它延承了JS方式

也可以借助自身的API实现

(swf.content as DisplayObject).visible = true;
[解决办法]
在mxml文件里,id属性名不就是实例名吗,用center01或者this.center01都可以获得这个对象的一个实例,相当于java中的new的作用。再用center01.属性名=""设置它的属性,比如:center01.visible=false;this.center01.visibe=true都可以啊。

读书人网 >flex

热点推荐