我正在尝试实现多点触摸,例如当用户用两根手指向外张开时,我需要处理一个事件并在其他事件中进行捏合。无需放大或缩小。
所以我正在布局上处理 onTouchEvent,但无法获得捏合和捏合的条件。
这是代码,
layout.setOnTouchListener(new View.OnTouchListener() {
private int mActivePointerId;
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
mActivePointerId = motionEvent.getPointerId(0);
Log.d(TAG, "COUNT"+motionEvent.getPointerCount());
if(motionEvent.getPointerCount() > 1){
if((motionEvent.getAction() == motionEvent.ACTION_UP) && (motionEvent.getAction() == motionEvent.ACTION_POINTER_DOWN))
Log.d(TAG, "Multi Touch Upwards ");
return true;
} else if((motionEvent.getAction() == motionEvent.ACTION_DOWN) && (motionEvent.getAction() == motionEvent.ACTION_POINTER_UP)){
Log.d(TAG, "Multi Touch DownWard ");
return true;
}
else{
Log.d(TAG, "It is signal Touch");
}
return true;
}
});
我引用了这个链接,但不是很清楚 example 任何使其工作的建议...谢谢
最佳答案
您可以在ScaleGestureDector
的帮助下使其工作。只需检查比例因子,如果比例因子大于 1,则将进行捏合,否则捏合。
这是一个很好的例子,它非常简单并且很适合您的需求, 只需按照此链接 ScaleGestureDector 中的说明进行操作即可
关于android - 在 Android 中处理多点触摸,例如捏合和捏合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26827146/