Jun 27
在前面的Flex中利用labelPlacement属性在按钮控件(Button)中设置一个图标(icon)在按钮中的位置的例子中,我们了解了如何利用labelPlacement属性在按钮控件中设置标签的位置,接下来的例子则演示了Flex中利用labelPlacementChanged事件,检测按钮(Buttoon)中标签(Label)位置是否改变。
让我们先来看一下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"
- initialize="init();" viewSourceURL="srcview/index.html">
- <mx:Script>
- <![CDATA[
- import mx.controls.Alert;
- import mx.events.ListEvent;
- [Bindable]
- [Embed("assets/flex_logo.jpg")]
- private var flex_icon:Class;
- private function init():void {
- btn.addEventListener("labelPlacementChanged", btn_labelPlacementChanged);
- }
- private function comboBox_change(evt:ListEvent):void {
- var obj:Object = ComboBox(evt.currentTarget).selectedItem;
- btn.labelPlacement = obj.label;
- }
- private function btn_labelPlacementChanged(evt:Event):void {
- Alert.show(evt.toString(), evt.type);
- }
- ]]>
- </mx:Script>
- <mx:ApplicationControlBar dock="true">
- <mx:Form styleName="plain">
- <mx:FormItem label="labelPlacement:">
- <mx:ComboBox id="comboBox"
- selectedIndex="1"
- change="comboBox_change(event);">
- <mx:dataProvider>
- <mx:Array>
- <mx:Object label="left" />
- <mx:Object label="right" />
- <mx:Object label="top" />
- <mx:Object label="bottom" />
- </mx:Array>
- </mx:dataProvider>
- </mx:ComboBox>
- </mx:FormItem>
- </mx:Form>
- </mx:ApplicationControlBar>
- <mx:Button id="btn"
- label="Button"
- icon="{flex_icon}"
- width="200"
- height="100" />
- </mx:Application>
代码:Peter deHaan 翻译/整理/编译:minidxer
