Flex - 鼠标动作(如拖拽)后立刻刷新界面显示
作者:hangge | 2015-02-27 15:45
MouseEvent.updateAfterEvent()
如果已修改显示列表,则将指示 Flash Player 或 Adobe AIR 在此事件处理完成后呈现结果。
(比如拖拽的时候就不会有延迟现象)
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
creationComplete="init(event)">
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
private var startMouseX:Number;
private var startScrollPosition:Number;
protected function init(event:FlexEvent):void
{
hg.addEventListener(MouseEvent.MOUSE_DOWN,hgMouseDown);
hg.addEventListener(MouseEvent.MOUSE_MOVE,hgMouseMove);
}
private function hgMouseDown(event:MouseEvent):void{
startMouseX = event.stageX;
startScrollPosition = hg.horizontalScrollPosition;
}
private function hgMouseMove(event:MouseEvent):void{
if(event.buttonDown){
hg.horizontalScrollPosition = this.startMouseX - event.stageX + startScrollPosition;
}
event.updateAfterEvent();
}
]]>
</fx:Script>
<s:HGroup id="hg" width="400" horizontalCenter="0" verticalCenter="0" clipAndEnableScrolling="true">
<s:Button label="按钮1" />
<s:Button label="按钮2" />
<s:Button label="按钮3" />
<s:Button label="按钮4" />
<s:Button label="按钮5" />
<s:Button label="按钮6" />
<s:Button label="按钮7" />
<s:Button label="按钮8" />
</s:HGroup>
</s:Application>
全部评论(0)