首页 > 学院 > 开发设计 > 正文

View的事件体系(一)kao

2019-11-09 18:27:20
字体:
来源:转载
供稿:网友

1.View是界面层控件的抽象,也就是一个控件,是界面层最基本的组成单位。

ViewGroup是控件组,是View的容器。    

ViewGroup是多个控件组成的控件,以此构成View树的结构。

2.VelocityTracker用于追踪手指的滑动速度

使用方法:在View的onTouchEvent中添加如下代码:

VelocityTracer velocityTracker = VelocityTracker.obtain();velocityTracker.addMovement(event);

之后可以用下面代码获得滑动速度
//1000ms内手指移动的像素数velocityTracker.computeCurrentVelocity(1000);int xVelocity = (int)velocityTracker.getXVelocity();int yVelocity = (int)velocityTracker.getYVelocity();

当不再需要使用时,需用下面代码回收

velocityTracker.clear();velocityTracker.recycle();

3.GestureDetecor使用方法

1.在当前类中创建一个GestureDetector实例:PRivate GestureDetector mGestureDetector;2.创建一个Listener来实时监听当前面板操作手势:class LearnGestureListener extends GestureDetector.SimpleOnGestureListener3.在初始化时,将Listener实例关联当前的GestureDetector实例:mGestureDetector = new GestureDetector(this, new LearnGestureListener());4.利用onTouchEvent方法作为入口检测,通过传递MotionEvent参数来监听操作手势:mGestureDetector.onTouchEvent(event);

接口中方法有:

onDown(手指触摸屏幕一瞬间,ACTION_DOWN触发)

onShowPress(手指轻轻触摸屏幕,没有松开,没有拖动,ACTION_DOWN触发)

onSingleTapUp(手指轻轻触摸屏幕后松开,ACTION_UP触发,单击行为)

onScroll(手指按下并在屏幕上拖动,由ACTION_DOWN和若干ACTION_MOVE组成)

onLongPress(长久按着屏幕不放)

onFling(按下屏幕,快速滑动后松开,由ACTION_DOWN 和若干 ACTION_MOVE 和一个ACTION_UP组成)

onDoubleTap(双击,由两次连续的单击组成)

onSingleTapConfirmed(单击行为,但这和onSingleTapUp不同,他不能再紧跟着发生单击行为,所以和onDoubleTap是互斥存在的)

onDoubleTapEvent(双击事件,期间ACTION_DOWN,ACTION_MOVE,ACTION_UP都会引发该事件)

参考:Android开发艺术探索


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表