flex 动态切换页面的问题
3个回答
展开全部
<?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">
<fx:Script>
<![CDATA[
[Bindable]public var selectedNode:XML;
// Event handler for the Tree control change event.
public function treeChanged(event:Event):void {
selectedNode=Tree(event.target).selectedItem as XML;
}
]]>
</fx:Script>
<fx:Declarations>
<fx:XMLList id="treeData">
<node label="Mail Box">
<node label="Inbox">
<node label="Marketing"/>
<node label="Product Management"/>
<node label="Personal"/>
</node>
<node label="Outbox">
<node label="Professional"/>
<node label="Personal"/>
</node>
<node label="Spam"/>
<node label="Sent"/>
</node>
</fx:XMLList>
</fx:Declarations>
<s:layout>
<s:VerticalLayout horizontalAlign="center" />
</s:layout>
<s:Panel title="Tree Control" color="0x000000"
borderAlpha="0.15"
width="600">
<s:layout>
<s:VerticalLayout horizontalAlign="center"
paddingLeft="10" paddingRight="10"
paddingTop="10" paddingBottom="10"/>
</s:layout>
<s:Label width="100%" color="0x323232"
text="Select a node in the Tree control."/>
<mx:HDividedBox width="100%" height="100%" color="0x323232">
<mx:Tree id="myTree" width="50%" height="100%" labelField="@label"
showRoot="false" dataProvider="{treeData}" change="treeChanged(event)"/>
<s:TextArea height="100%" width="50%"
text="Selected Item: {selectedNode.@label}"/>
</mx:HDividedBox>
</s:Panel>
</s:Application>
<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">
<fx:Script>
<![CDATA[
[Bindable]public var selectedNode:XML;
// Event handler for the Tree control change event.
public function treeChanged(event:Event):void {
selectedNode=Tree(event.target).selectedItem as XML;
}
]]>
</fx:Script>
<fx:Declarations>
<fx:XMLList id="treeData">
<node label="Mail Box">
<node label="Inbox">
<node label="Marketing"/>
<node label="Product Management"/>
<node label="Personal"/>
</node>
<node label="Outbox">
<node label="Professional"/>
<node label="Personal"/>
</node>
<node label="Spam"/>
<node label="Sent"/>
</node>
</fx:XMLList>
</fx:Declarations>
<s:layout>
<s:VerticalLayout horizontalAlign="center" />
</s:layout>
<s:Panel title="Tree Control" color="0x000000"
borderAlpha="0.15"
width="600">
<s:layout>
<s:VerticalLayout horizontalAlign="center"
paddingLeft="10" paddingRight="10"
paddingTop="10" paddingBottom="10"/>
</s:layout>
<s:Label width="100%" color="0x323232"
text="Select a node in the Tree control."/>
<mx:HDividedBox width="100%" height="100%" color="0x323232">
<mx:Tree id="myTree" width="50%" height="100%" labelField="@label"
showRoot="false" dataProvider="{treeData}" change="treeChanged(event)"/>
<s:TextArea height="100%" width="50%"
text="Selected Item: {selectedNode.@label}"/>
</mx:HDividedBox>
</s:Panel>
</s:Application>
追问
你好,这个好像是flex4吧,上面忘了说了,我用的是flex3。还有就是我想动态切换component,也不是切换swf文件,所以就不能有多个module。我想创建多个component文件。然后点击树节点,去切换component文件,不知可行否?请大侠指教。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Tree的ItemClick事件监听并处理,你在应用中对应的操作即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果是4的话State,3的话用ViewStack
更多追问追答
追问
您好,我现在弄出来了两个,一个是创建module,每创建的module后编译会生成swf文件,然后用ModuleManager去加载swf文件。另一种是新建mxml文件,然后用getDefinitionByName(类似java反射)方法得到其对象,如果是这种方案,每个mxml文件必须在程序加载时定义一遍,否则无法编译到swf文件中。请问,您认为这两种方案,哪种比较合适呢。另:一个项目中应该只有一个主程序的swf文件,其他附属模块的应也有多个swf文件,您认为呢?
追答
用module,用module的话主程序大小比较小,真正在用的时候下载时间不会很长,不会让用户等很久,当需要哪个模块的话,加载哪个module,不需要的时候卸载
典型的模块式开发,
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询