Flex中如何利用getChildAt()和labelPlacement属性调整ButtonBar上按钮文本和图标相对位置的例子
By Minidxer | February 11, 2009
接下来的例子演示了Flex中如何利用getChildAt()和labelPlacement属性,调整ButtonBar上按钮文本和图标相对位置。
让我们先来看一下Demo(可以右键View Source或点击这里察看源代码):
下面是完整代码(或点击这里察看):
Download: main.mxml
- <?xml version="1.0" encoding="utf-8"?>
- <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>
代码:Peter deHaan 翻译/整理/编译:中文Flex例子
Topics:
ButtonBar |
No Comments » |
564 views
Tags: ButtonBar, getChildAt(), iconField, labelPlacement