【发布时间】:2013-02-24 09:51:57
【问题描述】:
我对 OnTouchEvent 感到沮丧。我只想检测 5 个手指。我怎样才能做到这一点?问题还在于它多次调用。这是我的代码:
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
int pointerCount = event.getPointerCount();
System.out.println("My pointer....." + pointerCount);
final int action = event.getAction();
if(action == MotionEvent.ACTION_UP) {
if(pointerCount >= 4){
Log.d("MyActivity", "in onTouchEvent!");
Toast.makeText(MyclassActivity.this, "Finger !!"+pointerCount,Toast.LENGTH_SHORT).show();
Intent z = new Intent(MyclassActivity.this,
DashboardActivity.class);
startActivity(z);
finish();
}
}
return super.onTouchEvent(event);
}
我对这件事不满意。让我在您的帮助下准确计算 5 根手指,避免多次调用 onTouchevent。
谢谢,
【问题讨论】:
-
我想你不明白什么是触摸事件。这不是点击屏幕。如果您移动任何手指或改变压力
onTouchEvent将被调用。 -
onTouch 方法被设计为在屏幕上有动作时调用,因此无法避免多次调用。为什么你在这里不满意?
-
@PlumillonForge :我不满意,因为如果我可以得到指针计数 4 或更多,我想在里面执行我的东西。否则会调用多次。
-
@abc667 :我知道兄弟。这是我的问题,如果我想触摸并且只想检测 5 个手指,我该如何避免多次打电话!!
标签: android touch-event