2024年3月9日发(作者:)
Gallery2
分析之手势监听(二)
author : Archer
1、背景知识:
所谓 手势,就是指用户手指或者触摸笔在触碰上连续的触碰行为。
2015-12-15
2、手势检测:
Android为手势提供了一个GestureDetector类,GestureDetector代表了一个手势检测器。创建
GestureDetector时需要传入一个ureListener实
例,ureListener实际上就是一个监听器,负责对用户的手势行为提供响应。
ureListener提供如下方法:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
@Override //当触碰事件按下时触发此方法
public boolean onDown(MotionEvent arg0) {
// TODO Auto-generated method stub
Log.d(TAG, "onDown");
return false;
}
@Override//当用户在屏幕上拖动时触发此方法,其中,arg2、arg3代表拖动在横向、纵向的的
速度。
public boolean onFling(MotionEvent arg0, MotionEvent arg1, float arg2,
float arg3) {
// TODO Auto-generated method stub
Log.d(TAG, "onFling");
return false;
}
@Override//当用户在屏幕上长按触发此方法
public void onLongPress(MotionEvent arg0) {
// TODO Auto-generated method stub
Log.d(TAG, "onLongPress");
}
@Override//当用户在屏幕上滑动触发此方法
public boolean onScroll(MotionEvent arg0, MotionEvent arg1, float arg2,
float arg3) {
// TODO Auto-generated method stub
Log.d(TAG, "onScroll");
return false;
}
@Override//当用户在屏幕上按下、而且未移动和松开时触发此方法
public void onShowPress(MotionEvent arg0) {
// TODO Auto-generated method stub
Log.d(TAG, "onShowPress");
}
@Override//当用户在屏幕上轻击时间触发此方法
public boolean onSingleTapUp(MotionEvent arg0) {
// TODO Auto-generated method stub
Log.d(TAG, "onSingleTapUp");
return false;
}
一般来说会重写
onTouchEvent
方法,并且调用
GestureDetector的
onTouchEvent
方法。
Gallery2
分析之手势监听(二)
author : Archer
1.
2.
3.
4.
5.
@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
return hEvent(event);
}
2015-12-15
3、图库中全屏浏览图片PhotoPage中手势监听流程分析
Photo全屏显示类PhotoPage类图
4、从前文可知,继承于ActivityState的四个页面之一的PhotoPage,其管理是通过StateManager进行状态


发布评论