注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

光旭的博客

Never give up!

 
 
 

日志

 
 

利用ViewStack实现不同组件间切换:  

2013-03-27 15:19:45|  分类: 编程交流 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
利用ViewStack实现不同组件间切换:
在运行mxml应用程序时,若想实现一个应用程序可以让不同自定义组件任意切换,可通过ViewStack实现:
1、例如:在flash builder4.5中,
此部分应用程序中代码入下:
<mx:Box width="100%" height="100%" backgroundColor="#C3D9DE" borderColor="#808080" borderStyle="inset">
<mx:ViewStack id="viewStack1" width="100%" height="100%" borderStyle="solid">
<s:NavigatorContent id="apply"> <!--  加班申请 -->        <!--flash builder 4.5中好像必须把组件放在NavigatorContent中-->
<app:Tst id="test1" width="100%" height="100%"> 
<!-- 此为包中所新建mxml组件,app为包名,Tst为新建的mxml组件-->
</app:Tst>
</s:NavigatorContent>
<s:NavigatorContent id="check">   <!--  加班审批 -->
<app:WorkSpaces id="work" width="100%" height="100%">
</app:WorkSpaces>
</s:NavigatorContent>
</mx:ViewStack>
</mx:Box>
利用ViewStack实现不同组件间切换: - 程序猿-攻城狮 - 光旭的博客
 

2、在Tst.mxml组件中添加代码,获取main.mxml应用程序的Viewstack对象,并利用selectedChild或selectedItem跳转到显示的组件。。。(本人理解 可能有误,见谅 。。。。。)
完整代码如下:
<fx:Script>
<![CDATA[
import mx.containers.Canvas;
import mx.containers.ViewStack;
private var vs:ViewStack;
private function init():ViewStack{
return this.parent as ViewStack; //得到main中的ViewStack,即viewStack1(其id);
}
private function work():void{
init().selectedChild=getChild("test1");
}
//获取指定的页面;
private function getChild(page:String):Canvas
{
for each(var obj:Object in init().getChildren()) //遍历vs中所有子组件,
{
if(obj.name===page){ 
break;
}
}
return obj as Canvas;     //转为Canvas类型;    
}
]]>
</fx:Script>利用ViewStack实现不同组件间切换: - 程序猿-攻城狮 - 光旭的博客
 
利用ViewStack实现不同组件间切换: - 程序猿-攻城狮 - 光旭的博客
 

3、

代码如下:
<mx:LinkButton label="加班申请" click="viewStack1.selectedChild=apply;" />


注意:
单击事件中调用ViewStack对象的selectedChild属性,并把包含组件的NavigatorContent的对象赋值给它,并不是要显示的组件的对象,因为在ViewStack中,NavigatorContent容器包含要显示的组件。

<mx:LinkButton label="加班审批" click="viewStack1.selectedChild=check;" />  



运行效果如下:

利用ViewStack实现不同组件间切换: - 程序猿-攻城狮 - 光旭的博客
 
利用ViewStack实现不同组件间切换: - 程序猿-攻城狮 - 光旭的博客
 





  评论这张
 
阅读(31)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017