Android多触点总结

文章部分内容参考:

http://blog.csdn.net/barryhappy/article/details/7392326

总结:

1. event.getX()可以得到x的坐标,里面的参数0表示最开始的触摸;参数为1时表示第二个触摸点;

2. MotionEvent.ACTION_DOWN:在第一个点被按下时触发

3. MotionEvent.ACTION_UP:当屏幕上唯一的点被放开时触发

4. 如果食指先触摸屏幕,会触发ACTION_DOWN;然后抬起,会触发ACTION_UP;如果食指先触摸屏幕,中指再触摸屏幕,则中指会触发ACTION_POINTER_2_DOWN;此后抬起的手指就会触发ACTION_POINTER_2_UP(在本例中,不管是食指还是中指抬起);接着,可能再会按下和抬起,触发的则是ACTION_POINTER_1_DOWN和ACTION_POINTER_1_DOWN。

@SuppressWarnings("deprecation")
    public boolean onTouchEvent(MotionEvent event) {

        int action = event.getAction();

        if (event.getPointerCount() == 2)
        {
          x1 = event.getX(1);
          y1 = event.getY(1);
        }
        x0 = event.getX(0);
        y0 = event.getY(0);

        switch (action) {
        case MotionEvent.ACTION_DOWN:
            HandleDown(getArea(x0, y0));
            break;
        case MotionEvent.ACTION_UP:
            HandleUp(getArea(x0, y0));
            break;

        //按下两个地方时,先抬起第1个,然后再按下,才会触发 ACTION_POINTER_1_DOWN
        case MotionEvent.ACTION_POINTER_1_DOWN:
            HandleDown(getArea(x0, y0));
            break;
        case MotionEvent.ACTION_POINTER_1_UP:
            HandleUp(getArea(x0, y0));
            break;

        case MotionEvent.ACTION_POINTER_2_DOWN:
            HandleDown(getArea(x1, y1));
            break;

        case MotionEvent.ACTION_POINTER_2_UP:
            HandleUp(getArea(x1, y1));
            break;
       }

        return super.onTouchEvent(event);
    }

Android多触点总结

时间: 2024-10-08 20:01:32

Android多触点总结的相关文章

菜鸟进阶Android Touch事件传递(四)

尊重他人劳动成果,转载请说明出处:http://blog.csdn.net/bingospunky/article/details/44343477 在该系列文章第四篇.我准备介绍一下viewpager的touch事件处理. 假设想了解touch和click的那些事,请浏览touch事件传递系列的第一篇http://blog.csdn.net/bingospunky/article/details/43603397 假设想了解touch事件一步一步传递的路线,请浏览touch事件传递系列的第二篇

菜鸟进阶之Android Touch事件传递(三)

费了这么大劲,终于写完了,这是我的原创.转载请说明出处:http://blog.csdn.net/bingospunky/article/details/44156771 这是touch传递系列文章的第三篇,我打算在这篇文章里从源码的角度解释dispatchTouchEvent.onInterceptTouchEvent.onTouchEvent方法的返回值影响touch传递的原理. 如果想了解touch和click的那些事,请浏览touch事件传递系列的第一篇http://blog.csdn.

菜鸟进阶之Android Touch事件传递(四)

尊重他人劳动成果,转载请说明出处:http://blog.csdn.net/bingospunky/article/details/44343477 在该系列文章第四篇,我准备介绍一下viewpager的touch事件处理. 如果想了解touch和click的那些事,请浏览touch事件传递系列的第一篇http://blog.csdn.net/bingospunky/article/details/43603397 如果想了解touch事件一步一步传递的路线,请浏览touch事件传递系列的第二篇

android开发之onCreate( )方法详解

onCreate( )方法是android应用程序中最常见的方法之一,那么,我们在使用onCreate()方法的时候应该注意哪些问题呢? 先看看Google Android Developers官网上的解释: onCreate(Bundle) is where you initialize your activity. Most importantly, here you will usually call setContentView(int) with a layout resource d

如何用 Android Studio 导入开源项目以及常见错误的解决办法

声明:这篇文章完全来自这篇文章,感谢大神的相助.这篇文章纯粹是为了备份. 本篇以Github上最热门的MaterialDesign库,MaterialDesignLibrary来介绍怎样使用Android Sudio导入开源项目的,如果你和我一样刚刚从Eclipse转到AS,那本篇文章非常适合你. 如果不引入任何第三方库,不做自动化分渠道打包等操作,那可以在完全不了解Gradle的情况下进行Android项目的开发.但如果要想导入Github上的热门项目,必须首先熟悉Gradle. 1. Gra

Android——调用高德地图API前期准备

1.登陆高德开放平台注册账号http://lbs.amap.com/ 2.创建自己的应用并且添加新key 获取发布版安全码获取方法: 在AndroidStudio的Terminal中编译: 输入如下图: 开发版安全码获取: 开发版获取的另一种方法:(和获取发布版本一样在AndroidStudio的Terminal中编译 只是keystore的路径改成debug.keystore    密钥库口令默认是android) 创建key成功 得到key: 前期准备完成 下一篇文章是开发配置 备忘 ,也希

Android小例子:使用反射机制来读取图片制作一个图片浏览器

效果图: 工程文件夹: 该例子可供于新手参考练习,如果有哪里不对的地方,望指正>-< <黑幕下的人> java代码(MainActivity.java): package com.example.imageswitchtest; import java.lang.reflect.Field; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.v

Android Studio 安装及常见问题

今年放假比去年早了一些,就提前回来了.感觉挺爽,结果教研室电脑没有带回来,悲剧是导师让我维护一下以前的项目,只能屁颠屁颠的搞起呀.只能用自己的笔记本搭建android开发环境.由于前阶段听说Android Studio用着爽歪歪,于是尝试在超卡的笔记本上跑Android Studio.哇咔咔,费了九牛二虎之力终于将Android Studio玩转了.先上个图,快过年了,祝大家新年快乐! Android官网也开始推广Android Studio了,以前官网好像提供Eclipse和ADT打包下载,现

Android 导航条效果实现(六) TabLayout+ViewPager+Fragment

TabLayout 一.继承结构 public class TabLayout extends HorizontalScrollView java.lang.Object ? android.view.View ? android.view.ViewGroup ? android.widget.FrameLayout ? android.widget.HorizontalScrollView ? android.support.design.widget.TabLayout 二.TabLayou