之前去面试,人家说,我这个事件拦截机制写得太少了,还有一个MotionEvent没写,这个确实也很重要,后来我考虑了一下,决定将这篇文章放到自己定义控件里. 先简单再提一下事件分发,事件分发和拦截主要涉及3个方法: interceptTouchEvent()这个方法,顾名思义是我们的拦截方法,返回true事件就不会向下传递: onTouchEvent()就是触摸事件,返回true就表明当前层消费了这次事件,它会阻止事件向上传递: 而dispatchTouchEvent()是事件分发的方法,它的s…
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事件. …
http://my.oschina.net/banxi/blog/56421 这是我个人的看法,要学好android触控,了解MotionEvent是必要,对所用的MotionEvent常用的API要比较深入的了解. 下面是我个人的学习过程记录: android.view.MotionEvent MotionEvent源代码可以在ocs看到,当然你也可以在SDK中下载源代码,或者其他地方,如: https://github.com/android/platform_frameworks_base…
前言 在前面的文章中,介绍了不少触摸相关的知识,但都是基于单点触控的,即一次只用一根手指.但是在实际使用App中,常常是多根手指同时操作,这就需要用到多点触控相关的知识了.多点触控是在Android2.0开始引入的,在现在使用的Android手机上都是支持多点触控的.本文将对常见的多点触控相关的重点知识进行总结,并使用多点触控来实现一些常见的效果,从而达到将理论知识付诸实践的目的. 一.触摸事件感应的产生原理 在介绍多点触控前,我们先了解一下现在手机屏幕触摸事件感应的原理. 当前手机使用的屏幕一…
前言:移动智能设备的发展,推动了安卓另一个领域,包括智能电视和智能家居,以及可穿戴设备的大量使用,但是这些设备上的开发并不是和传统手机开发一样,特别是焦点控制和用户操作体验风格上有很大的区别,本系列博文主要用TV播放器的实现去了解下在智能设备上的开发一个APP的流程,实现遥控器控制焦点移动,方向键模拟鼠标,并完成在线视频直播,手机当遥控器使用等相关功能.点击查看原文 ,转载请说明出处 :http://blog.csdn.net/sk719887916. 说到安卓TV上的APP应用,最主要还是看焦…
处理多点触控手势 多点触控就是同时把一根以上的手指放在屏幕上. 再继续往下以前需要补充一些名词: 触控手势:就是把一根或者几根手指放在屏幕上做各种动作,其中包括保留一根手指的前提下,拿起或者放下其余的手指. 触控事件:在触控手势中,有手指移动或者离开屏幕的时候就会引发一个触控事件.这个事件就存放在MotionEvent中. 在这个事件中,包含说与的触控数据. 触控:手指碰到屏幕的时候就产生了一个触控(pointer). 追踪多个触控点 多个手指同时放在屏幕上的时候会触发以下的系统事件: ACTI…
MotionEvent源代码可以在ocs看到,当然你也可以在SDK中下载源代码,或者其他地方,如: https://github.com/CyanogenMod/android_frameworks_base/blob/ics/core/java/android/view/MotionEvent.java (1)首先是MotionEvent 中getAction()与getActionMasked()的区别: 首先看代码: 01     /** 02      * Bit mask of the…
在上一篇文章中,自定义的ZoomImageView已经实现了自由缩放,自由移动以及双击放大与缩小的功能.已经可以投入使用这个控件了.下面我们就在ViewPager中使用这个控件.如果你还没读过上一篇文章,可以点击下面的链接: http://www.cnblogs.com/fuly550871915/p/4940193.html 一.在ViewPager中使用自定义的ZoomImageView 快速的代建起ViewPager吧.修改activity_main.xml中的代码,如下: <Relati…
真心佩服那些一直专注于技术共享的大神们,正是因为他们无私的分享精神,我才能每天都有进步.近日又算是仔细学了android的自定义控件技术,跟着大神的脚步实现了一个自定义的ImageView.里面涉及到常用的多点触控技术.在此十分感谢那些默默奉献的大神们,同时向他们学习,也把自己的学习过程以及收获到的知识分享给大家.这个自定义的ImgaeView实现了图片的自由缩放,自由移动,并解决了与ViewPager的兼容性问题.开发完成后,可以直接代替普通的ImageView了.废话不多说了,现在就跟我一起…
前言 在上一篇文章中,已经总结了MotionEvent以及多点触控相关的基础理论知识和常用的函数.本篇将通过实现单指拖动图片,多指拖动图片的实际案例来进行练习并实现一些效果,来理解前面的理论知识.要理解本文的代码,需要先掌握上一篇的理论知识,事件处理基础,以及一定的自定义View基础,这些我也在本系列文章的前几篇中讲过,有兴趣的可以按照本系列的顺序依次阅读学习,相信您一定会有不小的收获.. 一.实现单指拖动图片 要实现单指拖动图片,大致思路就是监控手指的ACTION_MOVE事件.手指移动过程中…