GestureDetector使用
程序员文章站
2024-03-24 15:30:40
...
GestureDetector是view包下的一个子类,用于来监听手指在VIEW上得各种动作。当我们需要监听手指在屏幕上得按下、按压、A点到B点、滑动等各种手势监听的时候就可以用到它了。
主要方法
手指按下去的时候
boolean onDown(MotionEvent e);
按压事件,onDown后调用。
void onShowPress(MotionEvent e);
手指抬起
boolean onSingleTapUp(MotionEvent e);
手指的移动事件
e1按下去的第一个点
e2移动的点
distanceX 距离上一次x的距离
distanceY 距离上一次y的距离
boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY);
长按
onLongPress(MotionEvent e)
a点到b点滑动触发的事件
e1按下去的点
e2滑动后抬起来的点
velocityX 每秒x滑动的像素
velocityY 每秒y滑动的像素
onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)
使用
private GestureDetector mDetector;
...
省略初始化代码
mDetector=new GestureDetector(getContext(),new MyGestureListener());
...
//或者onTouchEvent
@Override
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
mDetector.onTouchEvent(event);
return true;
}
public static class MyGestureListener extends GestureDetector.SimpleOnGestureListener {
@Override
public boolean onDown(MotionEvent e) {
return super.onDown(e);
}
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
return super.onFling(e1, e2, velocityX, velocityY);
}
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
return super.onScroll(e1, e2, distanceX, distanceY);
}
}
上一篇: android listview的使用
下一篇: 文本溢出显示省略号,鼠标浮动查看全部内容
推荐阅读
-
GestureDetector使用
-
bzip2使用 博客分类: linux bz2bzip2
-
使用递归的思想解决汉诺塔问题
-
服务器使用Gzip压缩JSON数据报“socket write error: Connection reset by peer.”错误 博客分类: java web开发 GzipJSONConnection reset by peer
-
ORACLE数据泵 expdp/impdp使用详解(转) 博客分类: 数据库数据库 oracle 开发
-
android listview的使用
-
Android手势 怎么样才算长按(GestureDetector源码)
-
Tensorflow 模型转 tflite ,在安卓端使用
-
服务器使用Gzip压缩数据,加快网络传输 博客分类: java web开发 javaGzip压缩数据
-
ORACLE数据泵 expdp/impdp使用详解(转) 博客分类: 数据库数据库 oracle 开发