多点触摸技术

 1 //多点触摸  放大,缩小
 2 public class MainActivity extends ActionBarActivity {
 3
 4     @Override
 5     protected void onCreate(Bundle savedInstanceState) {
 6         super.onCreate(savedInstanceState);
 7         setContentView(R.layout.fragment_main);
 8
 9     }
10
11     @Override
12     public boolean onTouchEvent(MotionEvent event) {
13         // TODO Auto-generated method stub
14         // 两点触摸
15         if (event.getPointerCount() == 2) {
16             if (event.getAction() == MotionEvent.ACTION_MOVE) {
17                 int historySize = event.getHistorySize();
18                 if (historySize == 0) {
19                     return true;
20                 }
21                 // 获取第一个手指当前的纵坐标
22                 float currentY1 = event.getY(0);
23                 // 获取第一个手指当前最新的历史的纵坐标
24                 float historyY1 = event.getHistoricalY(0, historySize - 1);
25                 // 获取第二个手指当前的纵坐标
26                 float currentY2 = event.getY(2);
27                 // 获取第二个手指当前最新的历史的纵坐标
28                 float historyY2 = event.getHistoricalY(1, historySize - 1);
29                 // 两手指当前纵坐标的距离
30                 float distance = Math.abs(currentY1 - currentY2);
31                 // 两手指最新的历史纵坐标的距离
32                 float historyDistance = Math.abs(historyY1 - historyY2);
33
34                 if (distance > historyDistance) {
35                     Log.i("-====>", "放大");
36                 } else if (distance < historyDistance) {
37                     Log.i("-====>", "缩小");
38                 } else {
39                     Log.i("-====>", "移动");
40                 }
41             }
42         }
43         return super.onTouchEvent(event);
44     }
45
46 }
时间: 2024-08-24 22:55:29

多点触摸技术的相关文章

21、多点触摸技术

什么是多点触摸技术 多点触摸是一项很早就使用的技术,从IPhone第一代就支持多点触摸.要想了解什么叫多点触摸,首先应了解什么是单点触摸.早期的触摸屏无论有多少个手指接触到屏幕,系统只会认为第1个接触到屏幕的手指是有效的,后来接触到屏幕的手指将被忽略.这就是所谓单点触摸,单点就是指第1个接触到屏幕的手指. 了解了单点触摸,多点触摸就很容易理解了.所谓多点触摸就是系统同时接受多个手指触摸屏幕的动作.这些手指的按下.移动等操作所生成的数据都可以通过程序获取.根据这些数据的变化可以做出很多有趣的应用,

Linux Android 多点触摸协议 原文出自【比特网】,转载请保留原文链接:http://soft.chinabyte.com/os/71/12306571.shtml

为了使用功能强大的多点触控设备.就须要一种方案去上报用户层所需的具体的手指触摸数据. 这个文档所描写叙述的多点触控协议能够让内核驱动程序向用户层上报随意多指的数据信息. 使用说明 单点触摸信息是以ABS承载并按一定顺序发送,如BTN_TOUCH.ABS_X.ABS_Y.SYNC.而多点触摸信息则是以ABS_MT承载并按一定顺序发送.如ABS_MT_POSITION_X.ABS_MT_POSITION_Y,然后通过调用input_mt_sync()产生一个 SYN_MT_REPORT event来

Android多点触摸交互处理,放大缩小图片

多点触摸(MultiTouch),指的是允许计算机用户同时通过多个手指来控制图形界面的一种技术.与多点触摸技术相对应的就是单点触摸,单点触摸的设备已经有很多年了,小尺寸的有触摸式的手机,大尺寸的最常见的就是银行里的ATM机和排队查询机等等. 多点触摸技术在实际开发过程中,用的最多的就是放大缩小功能.比如有一些图片浏览器,就可以用多个手指在屏幕上操作,对图片进行放大或者缩小.再比如一些浏览器,也可以通过多点触摸放大或者缩小字体.其实放大缩小也只是多点触摸的实际应用样例之一,有了多点触摸技术,在一定

Android中的多点触摸

代码下载地址 代码一:自定义支持多点触摸的TextView http://download.csdn.net/detail/zhiyuan0932/9513852 什么是多点触摸 允许计算机用户同时通过多个手指来控制图形界面的一种技术 多点触摸的应用场景 对图片.文字.网页进行放大或者缩小 多手指手势操作自定义控件和布局 触摸事件的重要方法 event.getActionMasked(): 获取事件类型 在只使用单手指操作的时候,这个方法我们一般使用的是event.getAction(),来获取

值得珍藏的资料--触摸技术的发展史(转)

电容式触摸技术与目前市场占有率最高的传统电阻式触摸技术相比,为使用者带来了多项优点,包括:高达97%的穿透率与更真实的色彩呈现为我们带来更佳的视觉享:触摸功能的实现只需轻触甚至不必实际与屏接触的特性,为用户带来更轻松灵活的操控性:更长的使用寿命,电容屏的触摸寿命约为两亿次,为四线电阻屏(一百万次)的两百倍,五线电阻屏(四千万次)的五倍. 电容式触摸技术侦测的信号来自于因触碰而引起的微量变化.按工作原理的不同,可大略分为表面电容式触摸技术(SCT, SuRFace Capacitive Touch

基于Visual C++2010与windows SDK fo windows7开发Windows 7的多点触摸特性应用

2008年5月28日,微软即将退休的精神领袖比尔·盖茨和首席执行官史蒂夫·鲍尔默共同在北圣地亚哥四季艾维亚拉洲际度假村举办的2008 D6 All Things数字化大会上向到场的嘉宾展示了windows7的测试版.     鲍尔默向记者打趣道:"今天只给你们看一丁点儿(just a snippet)哟!"然而就是那么一丁点儿,已经让世界为之惊艳! 盖茨和鲍尔默在D6 All Things数字化大会上重点展示的是多触点技术(multitouch technology),这是运行Wind

双击改变图片大小和多点触摸改变图片大小

系统的 UIScrollView 就有多点触摸改变图片的大小的功能,如果在向添加别的触摸事件,如这次讲到的双击图片大小就可以自定义一个 scrollView,当然,这个 scrollView 是继承自系统的 UIScrollView  的,这样,它仍然具有系统 scrollView 的特性,另外,可以添加自己想要的特性. 新的 scrollView 只需要添加一个方法,就可以实现双击图片变大的功能 #import "ZYScrollView.h" @implementation ZYS

ios开发——实用技术篇Swift篇&amp;多点触摸与手势识别

多点触摸与手势识别 1 2 //点击事件 3 var atap = UITapGestureRecognizer(target: self, action: "tapDo:") 4 self.view.addGestureRecognizer(atap) 5 atap.numberOfTapsRequired = 1 //单击次数 6 atap.numberOfTouchesRequired = 1 //手指个数 7 8 //拖动事件 9 var aPan = UIPanGesture

Quick cocos2dx-Lua(V3.3R1)学习笔记(十三)-----继续触摸事件之多点触摸

在前面,我们提过了单点触摸,下面我们就试一下多点触摸的用法(我用的是cocos code ide进行手机调试,不会的,进入前一篇查看) function MainScene:ctor() local sprite = display.newSprite("close.png") --自己随便找个图片资源吧 sprite:align(display.CENTER, display.cx, display.cy) sprite:addTo(self) sprite:setTouchEnab