Android开发中实现多点触摸的方法
2012-05-28 16:04
232 查看
相关函数:
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()); //总共按下时花费时间
/*****************************************************************************************************/
@Override
public boolean onTouchEvent(MotionEvent event) {
// 获得屏幕触点数量 //TOUCHPOINTS = 10;
int pointerCount = event.getPointerCount();
if (pointerCount > MAX_TOUCHPOINTS) {
pointerCount = MAX_TOUCHPOINTS;
}
// 锁定Canvas,开始进行相应的界面处理
Canvas c = getHolder().lockCanvas();
if (c != null) {
c.drawColor(Color.BLACK);
if (event.getAction() == MotionEvent.ACTION_UP) {
// 当手离开屏幕时,清屏
} else {
// 先在屏幕上画一个十字,然后画一个圆
for (int i = 0; i < pointerCount; i++) {
// 获取一个触点的坐标,然后开始绘制
int id = event.getPointerId(i);
int x = (int) event.getX(i);
int y = (int) event.getY(i);
....
}
}
// 画完后,unlock
getHolder().unlockCanvasAndPost(c);
}
return true;
}
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()); //总共按下时花费时间
/*****************************************************************************************************/
@Override
public boolean onTouchEvent(MotionEvent event) {
// 获得屏幕触点数量 //TOUCHPOINTS = 10;
int pointerCount = event.getPointerCount();
if (pointerCount > MAX_TOUCHPOINTS) {
pointerCount = MAX_TOUCHPOINTS;
}
// 锁定Canvas,开始进行相应的界面处理
Canvas c = getHolder().lockCanvas();
if (c != null) {
c.drawColor(Color.BLACK);
if (event.getAction() == MotionEvent.ACTION_UP) {
// 当手离开屏幕时,清屏
} else {
// 先在屏幕上画一个十字,然后画一个圆
for (int i = 0; i < pointerCount; i++) {
// 获取一个触点的坐标,然后开始绘制
int id = event.getPointerId(i);
int x = (int) event.getX(i);
int y = (int) event.getY(i);
....
}
}
// 画完后,unlock
getHolder().unlockCanvasAndPost(c);
}
return true;
}
相关文章推荐
- 【转】Android开发中实现多点触摸的方法
- Android开发中多点触摸的实现方法
- Android开发中实现多点触摸的方法
- 解析Android开发中多点触摸的实现方法
- Android开发中实现多点触摸的方法
- 解析Android开发中多点触摸的实现方法
- 转载:Android开发中实现多点触摸的方法
- 在Android开发中,定时执行任务的3种实现方法:
- Android开发之 当前日期String类型转date类型 java代码中实现方法
- Android开发笔记之:在ImageView上绘制圆环的实现方法
- Android开发实现webview中img标签加载本地图片的方法
- 在Android开发中,定时执行任务的3种实现方法
- Android开发进阶自定义控件之滑动开关实现方法【附demo源码下载】
- android 的开源输入法介绍,及 自动触摸的实现方法
- android开发中单击事件的多种实现方法
- android开发之多线程实现方法概述
- Android开发使用Handler的PostDelayed方法实现图片轮播功能
- Android平板开发永久实现全屏的方法
- Android开发实现读取assets目录下db文件的方法示例
- Android开发使用Activity嵌套多个Fragment实现横竖屏切换功能的方法