在你的移动Flex应用程序中添加滑动手势(swipe gestures)

随着Flex4.5 SDK(又名:Hero)的推出,你现在可以在Android设备上和BlackBerry PlayBook上创建一些非常漂亮的移动应用。这里面就有你可以用在触摸屏上的滑动手势。用这个手势,你可以在屏幕上与屏幕之间移动你想要的。但是,如何在你的Flex移动应用中实现这样的功能呢?
这里有两种方法你可以选择。
第一种涉及到使用ActionScript来附加一个事件侦听器。当你的视图组件初始化,你写入下的代码:

private function initView():void {
addEventListener(TransformGestureEvent.GESTURE_SWIPE, onSwipe);
}复制代码这种方法的好处是,它在纯ActionScript项目中和在Flash Professional项目中用法都是一样的。

第二种方法只能用在Flex应用程序中。它实际上更容易实现一些。你只需要在View tag里捕获gestureSwipe事件就可以,如下所示: <s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
gestureSwipe="onSwipe(event)"/>

这就是在有触摸屏的设备上滑动手势的处理,比如移动电话,平板电脑或者更大的触摸屏。但是,你只有一个单一的滑动事件,那么你怎么判断它一个向左的滑动还是一个向右的滑动呢?对此,你需要通过到这个事件的属性来确定滑动的方向,你需要水平方向的offsetX属性和垂直方向的offsetY属性,如下: private function onSwipe(event:TransformGestureEvent):void {
// A swipe to the left means the offsetX property will be -1
// A swipe to the right means the offsetX position will be 1
if(event.offsetX == -1) {
doSwipeLeft();
} else if(event.offsetX == 1) {
doSwipeRight();
}

// The same principle applies to the vertical swipe gesture, so
// a swipe to the top means the offsetY position will be -1
// A swipe to the bottom means the offsetY position will be 1
if(event.offsetX == -1) {
doSwipeTop();
} else if(event.offsetX == 1) {
doSwipeBottom();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值