Flex中如何通过variableRowHeight样式减少PopUpButton与弹出菜单间间距的例子

By Minidxer | March 16, 2009

接下来的例子演示了Flex中如何通过variableRowHeight样式,减少PopUpButton与弹出菜单间间距。

让我们先来看一下Demo可以右键View Source或点击这里察看源代码):


下面是完整代码(或点击这里察看):

Download: main.mxml
  1. <?xml version="1.0" encoding="utf-8"?>
  2. pop-up-menu-by-enabling-variable-row-heights/ -->
  3. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
  4.         layout="horizontal"
  5.         verticalAlign="top"
  6.         backgroundColor="white">
  7.  
  8.     <mx:Style>
  9.         PopUpButton {
  10.             openDuration: 0;
  11.             closeDuration: 0;
  12.             fontWeight: normal;
  13.             textAlign: left;
  14.         }
  15.     </mx:Style>
  16.  
  17.     <mx:Script>
  18.         <![CDATA[
  19.             import mx.events.FlexEvent;
  20.             import mx.controls.Menu;
  21.             import mx.utils.ObjectUtil;
  22.  
  23.             private function popUpButton1_initialize():void {
  24.                 var menu:Menu = new Menu();
  25.                 menu.showRoot = false;
  26.                 menu.labelField = "@label";
  27.                 menu.dataProvider = ObjectUtil.copy(dp);
  28.                 popUpButton1.popUp = menu;
  29.             }
  30.  
  31.             private function popUpButton2_initialize():void {
  32.                 var menu:Menu = new Menu();
  33.                 menu.showRoot = false;
  34.                 menu.labelField = "@label";
  35.                 menu.dataProvider = ObjectUtil.copy(dp);
  36.                 menu.variableRowHeight = true;
  37.                 popUpButton2.popUp = menu;
  38.             }
  39.  
  40.             private function popUpButton_creationComplete(evt:FlexEvent):void {
  41.                 var pUB:PopUpButton = evt.currentTarget as PopUpButton;
  42.                 // resize and open
  43.                 pUB.popUp.width = pUB.width;
  44.                 pUB.open();
  45.             }
  46.  
  47.             private function openPopUpButtons():void {
  48.                 popUpButton1.open();
  49.                 popUpButton2.open();
  50.             }
  51.         ]]>
  52.     </mx:Script>
  53.  
  54.     <mx:XML id="dp" source="dp.xml" />
  55.  
  56.     <mx:PopUpButton id="popUpButton1"
  57.             label="variableRowHeight = false"
  58.             openAlways="true"
  59.             width="250"
  60.             initialize="popUpButton1_initialize();"
  61.             creationComplete="popUpButton_creationComplete(event);"
  62.             open="openPopUpButtons();" />
  63.  
  64.     <mx:PopUpButton id="popUpButton2"
  65.             label="variableRowHeight = true"
  66.             openAlways="true"
  67.             width="250"
  68.             initialize="popUpButton2_initialize();"
  69.             creationComplete="popUpButton_creationComplete(event);"
  70.             open="openPopUpButtons();" />
  71.  
  72. </mx:Application>
代码:Peter deHaan 翻译/整理/编译:中文Flex例子

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

Search Posts