`

多点触控之MotionEvent.ACTION_MASK作用

阅读更多
ACTION_MASK在Android中是应用于多点触摸操作,字面上的意思大概是动作掩码的意思吧。

在onTouchEvent(MotionEvent event)中,使用switch (event.getAction())可以处理ACTION_DOWN和ACTION_UP事件;

使用switch (event.getAction() & MotionEvent.ACTION_MASK)就可以处理处理多点触摸的ACTION_POINTER_DOWN和ACTION_POINTER_UP事件。

ACTION_DOWN和ACTION_UP就是单点触摸屏幕,按下去和放开的操作;

ACTION_POINTER_DOWN和ACTION_POINTER_UP就是多点触摸屏幕,当有一只手指按下去的时候,另一只手指按下和放开的动作捕捉;

ACTION_MOVE就是手指在屏幕上移动的操作;

转自:http://blog.sina.com.cn/s/blog_4e60b09d01011rva.html
分享到:
评论

相关推荐

    android_view_MotionEvent.rar_float

    Number of float items per entry in a DVM sample data array.

    android 可移动控件

    switch (event.getAction() & MotionEvent.ACTION_MASK) { case MotionEvent.ACTION_DOWN: if(lParams.leftMargin){//判断控件是否半隐藏状态 lParams.leftMargin = 0; }else if(lParams.topMargin){ lParams....

    最简单android 多点触控 图片放大

    最简单android 多点触控 图片放大,没有任何过多的代码,使用了自定义控件,MotionEvent.ACTION_POINTER_DOWN来标识第二点按下,setFrame来改变片的大小

    android ListView下拉分页

    case MotionEvent.ACTION_UP: if (!isVerticalScrollBarEnabled()) { setVerticalScrollBarEnabled(true); } if (getFirstVisiblePosition() == 0 && mRefreshState != REFRESHING) { // 拖动距离达到刷新需要...

    利用DrawView画图

    case MotionEvent.ACTION_MOVE: path.lineTo(event.getX(),event.getY()); Draw(); break; case MotionEvent.ACTION_DOWN: paint.setStyle(Style.STROKE); paint.setColor(Color.GREEN); paint....

    Android代码-Jump

    case MotionEvent.ACTION_DOWN: //按下 Log.d(TAG, "开始位置: " event.getRawX() " " event.getRawY()); mStartX = event.getRawX(); mStartY = event.getRawY(); break; case MotionEvent.ACTION_UP: //松开...

    android绘制触点轨迹的代码

    MotionEvent.ACTION_DOWN: 手指 初次接触到屏幕 时触发。 MotionEvent.ACTION_MOVE: 手指 在屏幕上滑动 时触发,会多次触发。 MotionEvent.ACTION_UP: 手指 离开屏幕 时触发。 多点触控 多点触控的event是通过...

    viewpager图片滚动缩放

    switch (event.getAction() & MotionEvent.ACTION_MASK) { //设置拖拉模式 case MotionEvent.ACTION_DOWN: savedMatrix.set(matrix); start.set(event.getX(), event.getY()); Log.d(TAG, "mode=DRAG" ); mode = ...

    Android手势识别器GestureDetector使用详解

    以前只知道控件的onTouchEvent()事件,它的动作有MotionEvent.ACTION_DOWN、MotionEvent.ACTION_MOVE、MotionEvent.ACTION_UP;今天有个需求,要监听控件的双击、拖动、滑动等事件,这时onTouchEvent()很明显不能满足...

    判断scrollView滚动结束

    重写scrollView的onTouchEvent事件,在MotionEvent.ACTION_CANCEL和MotionEvent.ACTION_UP中通过反射获取scrollview中的OverScroller,然后获取OverScroller的状态判断scrollview是否结束滚动

    android 视频处理代码

    } else if (event.getAction() == MotionEvent.ACTION_UP) { if (mRecorderView.getTimeCount() > 1) { handler.sendEmptyMessage(1); } else { if (mRecorderView.getmRecordFile() != null) { ...

    springboot课堂笔记 (源码+数据库)090912

    以画直线为例,其原理是在手机屏幕事件 onTouchEvent 中,当 手指触碰手机屏幕这个事件时,即 case MotionEvent.ACTION_ DOWN,设置一 个新的坐标(X,Y),然后通过 getAction0 方法记录手指在屏幕上的移动轨迹事 件,即...

    Android 电子钢琴源码.zip

    if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) { play(R.raw.white1);//这个时候创建播放要用的资源文件 imageButton_white1.setImageResource(R.drawable.whiteback1); } if (motionEvent.get...

    可自定义侧边栏特效源码.zip

    可自定义侧边栏特效源码,在onIndexSideBarTouch触摸事件回调接口的MotionEvent.ACTION_DOWN和MotionEvent.ACTION_UP的时候做改变侧边栏的背景颜色操作和索引显示TextView可见性设置;在onIndexChange索引改变事件回...

    下拉刷新,刷新显示时间

    case MotionEvent.ACTION_DOWN: yDown = event.getRawY(); break; case MotionEvent.ACTION_MOVE: float yMove = event.getRawY(); int distance = (int) (yMove - yDown); // 如果手指是...

    一个用例理解MotionEvent.getX()/getRawX/getScrollY()/childView.scrollBy((int) DX, (int) 0)

    1.Android移动方式 ... ##MotionEvent.getX(): 获取按下点相对于屏幕原点坐标  MotionEvent.getY();  ## getScrollY(): 里面内容相对于父控件移动距离  // 设置内容移动   // 从左到右 负值, 开始减去结束  

    多点触控技术

    在Android平台上事件均使用了MotionEvent对象方式处理,比如开始触控时会触发ACTION_DOWN,而移动操作时为 ACTION_MOVE,最终放开手指时触发ACTION_UP事件。当然还有用户无规则的操作可能触发ACTION_CANCEL这个动作...

    炫舞吧 android 游戏开发

    case MotionEvent.ACTION_DOWN: mAnimView.UpdateEvent(x, y); break; case MotionEvent.ACTION_MOVE: break; case MotionEvent.ACTION_UP: break; } return false; } public class AnimView extends ...

    PocketSphinxAndroidDemo

    可以实现录音,有效率... case MotionEvent.ACTION_DOWN: start_date = new Date(); this.listening = true; this.rec.start(); break; case MotionEvent.ACTION_UP: Date end_date = new Date();

    一个用例MotionEvent.getX()/getRawX/getScrollY()/childView.scrollBy((int) DX, (int) 0

    一个用例MotionEvent.getX()/getRawX/getScrollY()/childView.scrollBy((int) DX, (int) 0),博客地址:https://blog.csdn.net/dreams_deng/article/details/105274141

Global site tag (gtag.js) - Google Analytics