• Styling individual tabs in a TabBar control


    following example shows how you can style individual tabs in a Flex TabBar control by calling the getChildAt() method on the tab bar, and then calling setStyle() on the returned Tab reference.

    A big thanks to Joan for helping me figure it out

    <?xml version="1.0"?>
    <!-- http://blog.flexexamples.com/2007/11/19/styling-individual-tabs-in-a-tabbar-control/ -->
    <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>

  • 相关阅读:
    PAT1124:Raffle for Weibo Followers
    Pat1071: Speech Patterns
    PAT1032: Sharing (25)
    Pat1128:N Queens Puzzle
    C++相关:C++的IO库
    Pat1108: Finding Average
    PAT1070:Mooncake
    乐港游戏校招面试总结
    并发编程005 --- future &&futureTask
    并发编程004 --- 线程池的使用
  • 原文地址:https://www.cnblogs.com/taobataoma/p/1037060.html
Copyright © 2020-2023  润新知