创建Flex可双击的按钮控件

    以下的例子展示如果在MXML或者AS中通过使用doubleClickEnabled属性来监听按钮的双击(doubleClick)事件。
'; } else { whichEl.style.display = 'none'; sb.innerHTML=' 显示代码'; whichEl.witdh="300px"; } }   隐藏代码

DE<<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2007/12/11/creating-a-double-click-able-button-control-in-flex/ -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        layout="vertical"
        verticalAlign="middle"
        backgroundColor="white">

    <mx:Script>
        <![CDATA[
            private function button_click(evt:MouseEvent):void {
                appendText(evt.type);
            }

            private function button_doubleClick(evt:MouseEvent):void {
                appendText(evt.type);
            }

            private function appendText(str:String):void {
                var now:Date = new Date();
                textArea.text += "[" + now.toTimeString() + "] " + str + "\n";
                textArea.validateNow();
                textArea.verticalScrollPosition = textArea.maxVerticalScrollPosition;
            }
        ]]>
    </mx:Script>

    <mx:ApplicationControlBar dock="true">
        <mx:Form styleName="plain">
            <mx:FormItem label="doubleClickEnabled:">
                <mx:CheckBox id="checkBox"
                        selected="true" />
            </mx:FormItem>
            <mx:FormItem>
                <mx:Button id="button"
                        label="[double] click me"
                        doubleClickEnabled="{checkBox.selected}"
                        click="button_click(event);"
                        doubleClick="button_doubleClick(event);" />
            </mx:FormItem>
        </mx:Form>
    </mx:ApplicationControlBar>

    <mx:TextArea id="textArea"
            editable="false"
            width="50%"
            height="100%" />

</mx:Application>
DE<

当然你可以用AS来实现上述同样的功能:
 

DE<<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2007/12/11/creating-a-double-click-able-button-control-in-flex/ -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        layout="vertical"
        verticalAlign="middle"
        backgroundColor="white"
        creationComplete="init();">

    <mx:Script>
        <![CDATA[
            import mx.containers.ApplicationControlBar;
            import mx.containers.Form;
            import mx.containers.FormItem;
            import mx.controls.Button;
            import mx.controls.CheckBox;
            import mx.controls.TextArea;

            private var textArea:TextArea;

            private function init():void {
                // CheckBox
                var ch:CheckBox = new CheckBox();
                ch.selected = true;

                // FormItem #1 (for CheckBox)
                var fi1:FormItem = new FormItem();
                fi1.label = "doubleClickEnabled:";
                fi1.addChild(ch);

                // Button
                var btn:Button = new Button();
                btn.label = "[double] click me";
                btn.doubleClickEnabled = true;
                btn.addEventListener(MouseEvent.CLICK, button_click);
                btn.addEventListener(MouseEvent.DOUBLE_CLICK, button_doubleClick);

                // FormItem #2 (for Button)
                var fi2:FormItem = new FormItem();
                fi2.addChild(btn);

                // Form
                var f:Form = new Form();
                f.styleName = "plain";
                f.addChild(fi1);
                f.addChild(fi2);

                // ApplicationControlBar
                var appBar:ApplicationControlBar = new ApplicationControlBar();
                appBar.dock = true;
                appBar.addChild(f);
                addChild(appBar);

                // TextArea
                textArea = new TextArea();
                textArea.percentWidth = 50;
                textArea.percentHeight = 100;
                textArea.editable = false;
                addChild(textArea);
            }

            private function button_click(evt:MouseEvent):void {
                appendText(evt.type);
            }

            private function button_doubleClick(evt:MouseEvent):void {
                appendText(evt.type);
            }

            private function appendText(str:String):void {
                var now:Date = new Date();
                textArea.text += "[" + now.toTimeString() + "] " + str + "\n";
                textArea.validateNow();
                textArea.verticalScrollPosition = textArea.maxVerticalScrollPosition;
            }
        ]]>
    </mx:Script>

</mx:Application>
DE<

查看Demo演示

原创作者: peterd。翻译整理:一路风尘
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值