Flex中利用Repeater显示一组RadioButton控件的例子

接下来的例子演示了Flex中如何Repeater作为一个数据提供源,用来显示一组RadioButton控件。
让我们先来看一下Demo(可以右键View Source或 点击这里察看源代码
 
下面是完整代码(或 点击这里查看):
Download: main.mxml
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
  3.         layout="vertical"
  4.         verticalAlign="middle"
  5.         backgroundColor="white">
  6.     <mx:Style>
  7.         Alert {
  8.             backgroundAlpha: 0.8;
  9.             backgroundColor: black;
  10.             borderAlpha: 0.8;
  11.             borderColor: black;
  12.         }
  13.     </mx:Style>
  14.     <mx:Script>
  15.         <![CDATA[
  16.             import mx.controls.Alert;
  17.             import mx.controls.RadioButton;
  18.             private function radioButton_change(evt:Event):void {
  19.                 var radio:RadioButton = RadioButton(evt.currentTarget);
  20.                 var item:Object = radio.getRepeaterItem();
  21.                 var cssObj:CSSStyleDeclaration;
  22.                 cssObj = StyleManager.getStyleDeclaration("Alert");
  23.                 cssObj.setStyle("modalTransparencyColor", item.data);
  24.                 cssObj.setStyle("themeColor", item.data);
  25.                 Alert.show(item.label, "getRepeaterItem()");
  26.             }
  27.         ]]>
  28.     </mx:Script>
  29.     <mx:Array id="arr">
  30.         <mx:Object label="Red" data="red" />
  31.         <mx:Object label="Orange" data="haloOrange" />
  32.         <mx:Object label="Yellow" data="yellow" />
  33.         <mx:Object label="Green" data="haloGreen" />
  34.         <mx:Object label="Blue" data="haloBlue" />
  35.     </mx:Array>
  36.     <mx:ApplicationControlBar dock="true">
  37.         <mx:Form styleName="plain">
  38.             <mx:FormItem label="selectedValue:">
  39.                 <mx:Label text="{radioGroup.selectedValue}" />
  40.             </mx:FormItem>
  41.         </mx:Form>
  42.     </mx:ApplicationControlBar>
  43.     <mx:HBox id="hb" horizontalGap="60">
  44.         <mx:RadioButtonGroup id="radioGroup" />
  45.         <mx:Repeater id="radioRepeater"
  46.                 dataProvider="{arr}">
  47.             <mx:RadioButton id="radioButtons"
  48.                     label="{radioRepeater.currentItem.label}"
  49.                     group="{radioGroup}"
  50.                     change="radioButton_change(event);" />
  51.         </mx:Repeater>
  52.     </mx:HBox>
  53. </mx:Application>

你可能感兴趣的:(职场,休闲)