Android多点触控在本质上需求LCD驱动和程序自身规划上支撑,现在市面上HTC、Motorola和Samsung等闻名厂商只需运用电容屏触控原理的手机均能够支撑多点触控Multitouch技能,关于网页缩放、手势操作上有更好的用户体会。 在Android平台上事情均运用了MotionEvent目标办法处理,比方开端触控时会触发ACTION_DOWN而移动操作时为ACTION_MOVE终究铺开手指时触发ACTION_UP事情。当然还有用户无规则的操作或许触发ACTION_CANCEL这个动作。
首要Android开发网提示咱们多点触控需求LCD驱动和应用软件两个支撑才干完成,所以部分比较老的,比方Android 2.1曾经或在北美上市的手机或许无法支撑多点触控在固件上,因为Apple专利原因在欧洲和亚太地区的Android 2.1今后的新款机型固件均已经在屏幕驱动中支撑,一起模拟器也无法完成多点触控的测验。
下面Android123一重用Android 2.0或以上SDK中的办法来完成怎么经过应用层支撑多点触控操作,关于惯例的控件触控操作在内部为View的setOnTouchListener()接口完成的onTouchEvent()办法来处理。关于onTouchEvent办法的参数MotionEvent咱们能够具体处理来完成对多点触控的了解,比方
event.getAction() //获取触控动作比方ACTION_DOWN
event.getPointerCount(); //获取触控点的数量,比方2则或许是两个手指一起按压屏幕
event.getPointerId(nID); //关于每个触控的点的细节,咱们能够经过一个循环履行getPointerId办法获取索引
event.getX(nID); //获取第nID个触控点的x方位
event.getY(nID); //获取第nID个点触控的y方位
event.getPressure(nID); //LCD能够感应出用户的手指压力,当然具体的级别由驱动和物理硬件决议的
event.getDownTime() //按下开端时刻
event.getEventTime() // 事情完毕时刻
event.getEventTime()-event.getDownTime()); //一共按下时花费时刻
有关Android多点触控的更具体技能因为现在兼容性和固件问题android123将会在今后的内容中具体评论,这儿给咱们起到抛砖引玉的效果。