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/ -->
< 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/