android 手势监听和多点触摸 笔记
16lz
2021-12-04
一、笔记链接
1. Android手势监听
Android上的手势监听实现 https://www.jianshu.com/p/095e81f21e07
触摸事件与手势监听--Android GestureDetector详解 http://blog.csdn.net/hpk1994/article/details/51224228
Android之ScaleGestureDetector(缩放手势检测) http://blog.csdn.net/yuzhiboyi/article/details/7696689
2. 多点触摸
安卓自定义View进阶《十六》——多点触控详解 https://www.jianshu.com/p/cafedd319512
Android多点触控之——MotionEvent(触控事件) http://blog.csdn.net/woshimalingyi/article/details/50383578
二、简记
1. 手势监听
GestureDector类包含以下内容:
OnGestureListener接口
OnDoubleTapListener双击接口
SimpleOnGestureListener 类(实现了类内的三个接口)
onTouchEvent()方法
ScaleGestureDetector类包含以下内容:
OnScaleGestureListener接口
SimpleOnScaleGestureListener接口
onTouchEvent()方法
class MyGestureListener implements GestureDetector.OnGestureListener { @Override public boolean onDown(MotionEvent e) { return false; } @Override public void onShowPress(MotionEvent e) { } @Override public boolean onSingleTapUp(MotionEvent e) { return false; } @Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { return false; } @Override public void onLongPress(MotionEvent e) { } @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { return false; } }
public interface OnScaleGestureListener { public boolean onScale(ScaleGestureDetector detector); public boolean onScaleBegin(ScaleGestureDetector detector); public void onScaleEnd(ScaleGestureDetector detector); }
2. 多点触控
为什么要使用掩码和位操作?
很多人,我一开始也疑惑,为什么不从一开始就使用两个整型来存储动作和索引信息呢。这样不是更容易让人理解吗?不过看了API文档的解释之后,才明白这是为了节省内存。因为动作就那么几个,位置信息在高八位以上,还有24位的信息用来存储索引信息(2的24次方个点,绝对够用!)。因此只需要一个32位的整型就可以存储这两个信息。更多相关文章
- Android(安卓)Editable
- android 创建一个实时监听的系统Service
- Android官方入门文档[18]与其他碎片通信
- [hanchao3c]Android的MediaPlayer架构介绍 + 补充
- Android基于XMPP Smack Openfire开发IM【三】客户端接收服务器发
- Android(安卓)Studio中Edittext监听回车事件,捕获手机和扫描枪的
- android之知识点小结二
- Android(安卓)监听EditText文本输入 EditText监听事和输入事件
- Android手势操作(双击,长按,滑动,滚动,多点触控)