Android双击事件
来源:互联网 发布:mac下载dota2 编辑:程序博客网 时间:2024/05/17 03:32
对于到底用不用android 双击事件API各有各的看法。
在Activity中使用API
优点:省时省力,别人写的东西,直接用就行了,不担心有BUG
缺点:代码写在activity中 总感觉有些乱。
自己写个onDoubleClick方法
优点:自己写的东西,好控制,灵活性强,想放哪放哪。
缺点:需要消耗点时间,检查BUG之类的。
好了,最近我也遇到了需要处理双击事件的问题,我是这样处理的
我用了android的API 但是我也很好整理。
上代码吧,只有2个类 一个当然是Activity 另一个就是OnDoubleClick事件处理类
1 import android.app.Activity; 2 import android.os.Bundle; 3 import android.view.GestureDetector; 4 import android.view.MotionEvent; 5 import android.view.View.OnTouchListener; 6 7 /** 8 * 9 * <p>class instruction:内部界面 核心Activity</p>10 * create in 2011-12-2 @author Mercury11 */12 public class GameActivity extends Activity {13 GameActivityHelper helper;14 private GestureDetector gd;15 @Override16 public void onCreate(Bundle savedInstanceState) {17 super.onCreate(savedInstanceState);18 helper=new GameActivityHelper(this);19 helper.init();20 setContentView(helper.getGameView());21 gd=new GestureDetector(this,new OnDoubleClick());22 }23 @Override24 public boolean onTouchEvent(MotionEvent event) {25 return gd.onTouchEvent(event);26 }27 }
1 import android.view.GestureDetector; 2 import android.view.MotionEvent; 3 4 public class OnDoubleClick extends GestureDetector.SimpleOnGestureListener{ 5 @Override 6 public boolean onDoubleTap(MotionEvent e) { 7 //TODO 8 return false; 9 }10 // @Override11 // public boolean onDoubleTapEvent(MotionEvent e) {12 // return super.onDoubleTapEvent(e);13 // }14 }
代码也还算整洁。 API中对于双击有两种处理,
一种是双击后执行一次:onDoubleTap
一种是双击后执行两次:onDoubleTapEvent
这里我只需要双击后执行一次就行了,那里注释掉了
还有需要特别注意的是在自己的Activity中重写的父类Activity的方法
@Override
public boolean onTouchEvent(MotionEvent event) {
return gd.onTouchEvent(event);
}
这个方法。我在网上看到有很多人在Activity中 实现implements OnTouchListener 后会要求你重写onTouch方法来实现双击。
这完全是误导人的做法,本人亲自试过,双击是无效的,普通的点击还是有效 我是在SDK1.6版本中试的
这是个细节希望大家多注意下。
这里的onTouchEvent 是Activity中的方法,而不是实现某个接口而来的,这就是为什么只能在Activity中处理双击事件的原因,
如果你需要用androidAPI处理双击事件就必须重写Activity中的onTouchEvent 方法 否则与GestureDetector中有关的方法都无效
onTouch 只要实现了OnTouchListener接口的View或者Activity都必须重写的方法,他是不能实现GestureDetector的一些功能的
- android 处理双击事件
- android 双击事件
- android处理双击事件
- android双击事件
- android 双击事件监听
- 关于android 双击事件
- android 双击事件
- android 触摸屏双击事件
- android 处理双击事件
- Android双击事件
- Android双击事件
- android 自定义双击事件
- 【Android】双击事件
- android 触摸屏双击事件
- android--双击事件
- Android实现双击事件
- android双击事件
- android 实现button双击事件
- sqlserver树形显示
- 别让心失明
- Java泛型
- D3DXCreateTextureFromFileEx中参数介绍
- 命运掌握在自己手中
- Android双击事件
- FireMonkey开发: 图片缩放
- NY--234 -- 吃土豆 [二维动态规划]
- Android SDK无法更新问题
- 人人都来写算法 之 移除字符串中重复的字符,时间复杂度要求O(n),空间复杂度O(1)
- 第七章 临时系统的创建(上)
- Android之经典Launcher主菜单模块学习
- windos右键找不到新建文件选项
- IOS学习笔记47--UIApplication深入研究