Android 系统中捕获鼠标事件
2010-09-10 00:59:00 来源:WEB开发网在android系统中需要根据根据鼠标拖动,长按,点击等事件进行处理。
--使用android.view.GestureDetector这个接口
首先将自己的view继承此接口:
public class MyView extends View implements OnClickListener,GestureDetector.OnGestureListener
在view中添加GestureDetector的对象并初始化:
private GestureDetector mGestureDetector;
init() {
mGestureDetector = new GestureDetector(getContext(), this);
}
之后重写view的onTouchEvent方法:
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
break;
case MotionEvent.ACTION_UP:
break;
}
return mGestureDetector.onTouchEvent(event);
}
正常情况下以上步骤即可以将鼠标事件捕捉,并使用OnGestureListener接口方法去处理。
boolean onDown(MotionEvent e);//mouse down
void onShowPress(MotionEvent e);//Touch了还没有滑动
boolean onSingleTapUp(MotionEvent e);//like onClick->onKeyUp
boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY);//scroll
void onLongPress(MotionEvent e);//long press
boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY);//快速拖动
顾名思义可以想见这些方法的用途。
在实际使用过程中发现有一个问题:
当上下拖动的过程中向左右拖然后松开鼠标会不响应onTouchEvent的ACTION_UP事件,
所以要根据情况在onScroll中对distanceX和distanceY同时进行判断。
- ››Android 当修改一些代码时,使用什么编译命令可以最...
- ››Android 如何添加一个apk使模拟器和真机都编译进去...
- ››Android 修改Camera拍照的默认保存路径
- ››Android 如何修改默认输入法
- ››android开发中finish()和System.exit(0)的区别
- ››Android手势识别简单封装类
- ››android中查看项目数字证书的两种方法
- ››Android中获取IMEI码的办法
- ››android 相机报错 setParameters failed
- ››Android重启运用程序的代码
- ››Android为ListView的Item设置不同的布局
- ››android bitmap与base64字符串的互相转换
更多精彩
赞助商链接