您的位置:首页 > Web前端 > CSS

Flex中如何利用getChildAt()和setStyle(),设置TabBar单个Tab样式

2009-06-09 02:01 881 查看
main.mxml

<?xml version="1.0"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"

layout="vertical"

verticalAlign="middle"

backgroundColor="white">



<mx:Script>

<![CDATA[

import mx.events.ItemClickEvent;

import mx.controls.tabBarClasses.Tab;



private function tabBar_creationComplete():void {

var colorArr:Array = ["red", "haloOrange", "yellow", "haloGreen", "haloBlue"];

var color:String;

var tab:Tab;

var idx:uint;

var len:uint = tabBar.dataProvider.length;



for (idx = 0; idx < len; idx++) {

var i:int = idx % colorArr.length;

color = colorArr[i];

tab = Tab(tabBar.getChildAt(idx));

tab.setStyle("fillColors", [color, "white"]);

tab.setStyle("fillAlphas", [1.0, 1.0]);

tab.setStyle("backgroundColor", color);

}

}



private function tabBar_itemClick(evt:ItemClickEvent):void {

viewStack.selectedIndex = evt.index;

}

]]>

</mx:Script>



<mx:Array id="arr">

<mx:Object label="Red" />

<mx:Object label="Orange" />

<mx:Object label="Yellow" />

<mx:Object label="Green" />

<mx:Object label="Blue" />

</mx:Array>



<mx:TabBar id="tabBar"

dataProvider="{arr}"

creationComplete="tabBar_creationComplete();"

itemClick="tabBar_itemClick(event);" />



<mx:ViewStack id="viewStack"

width="{tabBar.width}"

styleName="plain">

<mx:VBox id="redVBox" width="100%" height="100">

<mx:Label text="Red VBox" />

</mx:VBox>

<mx:VBox id="orangeVBox" width="100%" height="100">

<mx:Label text="Orange VBox" />

</mx:VBox>

<mx:VBox id="yellowVBox" width="100%" height="100">

<mx:Label text="Yellow VBox" />

</mx:VBox>

<mx:VBox id="greenVBox" width="100%" height="100">

<mx:Label text="Green VBox" />

</mx:VBox>

<mx:VBox id="blueVBox" width="100%" height="100">

<mx:Label text="Blue VBox" />

</mx:VBox>

</mx:ViewStack>



</mx:Application>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐