设为首页 加入收藏

TOP

Android系统中捕获鼠标事件
2014-11-24 03:00:52 来源: 作者: 【 】 浏览:1
Tags: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 的动作、广播、类别等标.. 下一篇Ubuntu 10.04下C程序中集成Python

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: