改变ButtonBar组件中标签图标的位置:

getChildAt() 方法 and labelPlacement 属性.
示例:



代码:

<? xml version="1.0" encoding="utf-8" ?>
<!--  http://blog.flexexamples.com/2008/01/08/changing-the-label-placement-for-a-flex-buttonbar-control/  -->
< mx:Application  xmlns:mx ="http://www.adobe.com/2006/mxml"
        layout
="vertical"
        verticalAlign
="middle"
        backgroundColor
="white" >

    
< mx:Script >
        
<![CDATA[
            import mx.controls.Button;
            import mx.controls.ButtonLabelPlacement;

            [Bindable]
            [Embed("assets/arrow_down.png")]
            private var arrowDown:Class;

            [Bindable]
            [Embed("assets/arrow_left.png")]
            private var arrowLeft:Class;

            [Bindable]
            [Embed("assets/arrow_right.png")]
            private var arrowRight:Class;

            [Bindable]
            [Embed("assets/arrow_up.png")]
            private var arrowUp:Class;

            private function init():void {
                var idx:uint;
                var len:uint = buttonBar.numChildren;
                var btn:Button;
                /* Loop over each button. */
                for (idx = 0; idx < len; idx++) {
                    /* Get reference to current Button. */
                    btn = buttonBar.getChildAt(idx) as Button;
                    /* Set labelPlacement property to current item in
                       arr Array object. */
                    btn.labelPlacement = arr[idx].label;
                }
            }
        
]]>
    
</ mx:Script >

    
< mx:Array  id ="arr" >
        
< mx:Object  label ="left"  img =" {arrowLeft} "   />
        
< mx:Object  label ="right"  img =" {arrowRight} "   />
        
< mx:Object  label ="top"  img =" {arrowUp} "   />
        
< mx:Object  label ="bottom"  img =" {arrowDown} "   />
    
</ mx:Array >

    
< mx:ButtonBar  id ="buttonBar"
            dataProvider
=" {arr} "
            iconField
="img"
            buttonHeight
="64"
            width
="500"
            creationComplete
="init();"   />

</ mx:Application >

来自:
http://blog.flexexamples.com/2008/01/08/changing-the-label-placement-for-a-flex-buttonbar-control/

你可能感兴趣的:(button)