android应用开发(触摸事件的开发)
来源:互联网 发布:mac怎么安装anaconda 编辑:程序博客网 时间:2024/05/21 16:22
android关于触摸事件:
(1)对于单点触摸的理解:
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction())
{
//触摸屏幕按下事件
case MotionEvent.ACTION_DOWN:
break;
//触摸并移动时刻
case MotionEvent.ACTION_MOVE:
break;
//触摸屏幕提起事件
case MotionEvent.ACTION_UP:
break;
}
return true(如果返回值为false,事件会继续传递,会有一些操作异常不可用);
}
实现功能:
1.侧滑功能
获取按下事件时的位置:positionX=event.getX();
获取提起事件时的位置:positionX‘=event.getX();
一次完整动作的位置差值:x=positionX‘-positionX
如果x大于零判断向右滑动,否则向左滑动。这样可以实现仿QQ消息记录侧滑的置顶删除功能。
2.长按事件功能
当前事件产生的时间的函数:getEventTime()
按下时间:getDowntime()
根据事件产生的时间差,判断产生事件的位置差,如果小于某一差值,可以判定为长按时间
(2)多点触摸事件:
MotionEvent.ACTION_MASK&&event.getAction()
有各种常量定义(常用的常量)MotionEvent.ACTION_POINTER_DOWN(用于屏幕上已经有手指按下且没有松开,再次按下一个手指触发该事件)MotionEvent.ACTION_POINTER_UP(用于屏幕上有不止一个点按下,只要有其中一个手指提起就触发该事件)1.双指放大功能:获取按下的手指位置:event.getX(int Index),event.getY(int Index)第几个手指按下的位置获取按下事件距离差值:x=|event.getX(0)-event.getY(0)|获取提起事件距离差值:x‘=|event.getX(0)-event.getY(0)|如果x-x'>0,放大功能,否则缩小功能,由于触摸移动事件很灵敏,刻意设置界限值触发放大缩小功能2.多点触控功能:在大屏幕上显示摊开牌功能,相册摊开多照片重叠在一起时,可以五个手指放在相片上,然后画弧,在滑动事件中每过一段时间放置一张照片,和自定义view绘制可以在一个圆上摊开牌
0 0
- android应用开发(触摸事件的开发)
- Android开发之触摸事件的使用--触…
- android开发中的一些触摸事件
- Android开发--事件的处理/按键按下,弹起,触摸事件等
- IOS开发之触摸与点击事件:UITapGestureRecognizer应用
- cocos2d开发之触摸事件
- IOS开发:手势触摸事件
- android的触摸事件
- Android的触摸事件
- Android开发之触摸事件-点击屏幕获…
- Android开发之触摸事件处理机制详解
- Android开发之触摸事件处理机制详解
- Android开发之触摸事件处理机制详解
- 入门android开发--实例--触摸2s产生事件
- Android开发08_OnTouchevent触摸事件(手势监听)
- Android开发-自定义View-AndroidStudio(二十三)onTouchEvent触摸事件
- Android开发-触屏事件的获取和触摸屏幕位置
- Android开发-触屏事件的获取和触摸屏幕位置
- HOG特征+SVM训练过程
- 数组循环右移
- jQuery获取数组对象的值
- 1001 Problem A
- ArcGIS version not specified. You must call RuntimeManager.Bind before creating any ArcGIS component
- android应用开发(触摸事件的开发)
- 手机的内核版本、基带版本等都是什么意思?
- asdasdasdsadasdsadas
- 插入DocumentFragment与直接插入节点的区别
- Android官方文档之App Components(Loaders)
- 最大流 二分图
- git---gui使用
- typedef struct 和 struct 的区别
- HDU 5272 Dylans loves numbers