Flex中如何通过popUpGap样式设置PopUpButton和弹出菜单间距离的例子

By Minidxer | March 14, 2009

接下来的例子演示了Flex中如何通过popUpGap样式,设置PopUpButton和弹出菜单间距离。

让我们先来看一下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="top"
  5.         backgroundColor="white">
  6.  
  7.     <mx:Style>
  8.         PopUpButton {
  9.             popUpStyleName: myCustomPopUpStyleName;
  10.         }
  11.  
  12.         .myCustomPopUpStyleName {
  13.             fontWeight: normal;
  14.             textAlign: left;
  15.         }
  16.     </mx:Style>
  17.  
  18.     <mx:Script>
  19.         <![CDATA[
  20.             import mx.controls.Menu;
  21.  
  22.             private function init():void {
  23.                 var menu:Menu = new Menu();
  24.                 menu.dataProvider = arr;
  25.                 popUpButton.popUp = menu;
  26.             }
  27.  
  28.             private function slider_change():void {
  29.                 popUpButton.close();
  30.                 popUpButton.open();
  31.             }
  32.         ]]>
  33.     </mx:Script>
  34.  
  35.     <mx:Array id="arr">
  36.         <mx:Object label="Alert" />
  37.         <mx:Object label="Button" />
  38.         <mx:Object label="ButtonBar" />
  39.         <mx:Object label="CheckBox" />
  40.         <mx:Object label="ColorPicker" />
  41.         <mx:Object label="ComboBox" />
  42.     </mx:Array>
  43.  
  44.     <mx:ApplicationControlBar dock="true">
  45.         <mx:Form styleName="plain">
  46.             <mx:FormItem label="popUpGap:">
  47.                 <mx:HSlider id="slider"
  48.                         minimum="-5"
  49.                         maximum="10"
  50.                         value="0"
  51.                         liveDragging="true"
  52.                         snapInterval="1"
  53.                         tickInterval="1"
  54.                         change="slider_change();" />
  55.             </mx:FormItem>
  56.         </mx:Form>
  57.     </mx:ApplicationControlBar>
  58.  
  59.     <mx:PopUpButton id="popUpButton"
  60.             label="Please select an item..."
  61.             openAlways="true"
  62.             popUpGap="{slider.value}"
  63.             closeDuration="0"
  64.             openDuration="0"
  65.             initialize="init();" />
  66.  
  67. </mx:Application>
代码:Peter deHaan 翻译/整理/编译:中文Flex例子

Topics: PopUpButton | No Comments » | 326 views Tags: ,

Search Posts