【发布时间】:2011-02-01 11:00:24
【问题描述】:
我对此还是比较陌生,我一直在开发一个小应用程序,该应用程序将极大地受益于用户一次按下 2 个按钮。实现这一目标的最佳方法是什么?我不认为 OnClickListener 可以那样工作,并且我已经看到了使用 OnTouch 事件执行此操作的示例。但是,我不知道如何使用 OnTouch 事件设置按钮按下。
【问题讨论】:
标签: android multi-touch
我对此还是比较陌生,我一直在开发一个小应用程序,该应用程序将极大地受益于用户一次按下 2 个按钮。实现这一目标的最佳方法是什么?我不认为 OnClickListener 可以那样工作,并且我已经看到了使用 OnTouch 事件执行此操作的示例。但是,我不知道如何使用 OnTouch 事件设置按钮按下。
【问题讨论】:
标签: android multi-touch
您必须自己处理触摸事件。使用多指针(又名多点触控)API,这很容易。只需覆盖 onTouchEvent() 方法或在按钮上注册一个 OnTouchListener。
【讨论】:
@Override
public boolean onTouchEvent (MotionEvent event) {
if (event.getAction()==MotionEvent.ACTION_UP) {
// reset all buttons
...
}
else {
int count=event.getPointerCount(),vx1=-1,vy1=-1,vx2=-1,vy2=-1;
if (count>=1) {
vx1=(int)event.getX(0);
vy1=(int)event.getY(0);
}
if (count>=2) {
vx2=(int)event.getX(1);
vy2=(int)event.getY(1);
}
...
}
return true;
}
【讨论】: