Flex中如何通过openDuration样式设置打开一个可持久地菜单的例子

By Minidxer | August 20, 2008

通常的菜单一般都是鼠标移开之后就会消失,接下来的例子演示了Flex中如何通过openDuration样式,设置打开一个可持久地菜单。

让我们先来看一下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.         initialize="init();">
  7.  
  8.     <mx:Script>
  9.         <![CDATA[
  10.             import mx.controls.Menu;
  11.             import mx.events.SliderEvent;
  12.  
  13.             private var menu:Menu;
  14.  
  15.             private function init():void {
  16.                 menu = Menu.createMenu(null, xmlDP, true);
  17.                 menu.labelField = "@label";
  18.                 menu.showRoot = false;
  19.                 menu.variableRowHeight = true;
  20.             }
  21.  
  22.             private function showMenu():void {
  23.                 menu.show(50, 50);
  24.             }
  25.  
  26.             private function slider_change(evt:SliderEvent):void {
  27.                 menu.hide();
  28.                 menu.setStyle("openDuration", evt.value);
  29.                 showMenu();
  30.             }
  31.         ]]>
  32.     </mx:Script> 
  33.  
  34.     <mx:XML id="xmlDP" source="menuDataProvider.xml" />
  35.  
  36.     <mx:ApplicationControlBar dock="true">
  37.         <mx:Form styleName="plain">
  38.             <mx:FormItem label="openDuration:">
  39.                 <mx:HSlider id="slider"
  40.                         minimum="0"
  41.                         maximum="2000"
  42.                         value="250"
  43.                         snapInterval="50"
  44.                         tickInterval="100"
  45.                         liveDragging="true"
  46.                         change="slider_change(event);" />
  47.             </mx:FormItem>
  48.         </mx:Form>
  49.         <mx:Spacer width="100%" />
  50.         <mx:Button label="Open Menu"
  51.                 click="showMenu();"/>
  52.     </mx:ApplicationControlBar>
  53.  
  54. </mx:Application>
代码:Peter deHaan 翻译/整理/编译:中文Flex例子

Topics: Flex | 2 Comments » | Tags: ,

你可能还对下列文章感兴趣:

2 comments | Add One

  1. Ryan - 08/20/2008 at 8:39 pm

    前辈 我是flex新学者 很喜欢flex
    但是就是找不到方法
    我做了一个flex+asp图表 可是不知道为什么就是不能用 在FB里可以显示 但是到了server上就不可以了 请高手指点一下 多谢!
    E:\APMS\www\htdocs\moneymgr\moneymanager\src\comps\dataParseCMP.mxml:15
    ERROR : 找不到类型,或者它不是编译时常数: ColumnChart。
    14
    15
    16
    请前辈指点 如果你有相关的文件 可否给我发一份,我会一直关注您的 谢谢

  2. Minidxer - 08/20/2008 at 9:06 pm

    @Ryan
    你的问题说得太简单了些,你可以把代码贴出来,看看能否找到原因。

    http://blog.minidx.com/2008/08/17/1263.html
    这个是一个简单的图表例子,或许有什么可以参考一下吧。

Leave a Comment

Name(*):

E-Mail(*) :

Website :

Comments :

Search Posts