android 为什么调用motionevent的getpointercount总是返回1
推荐于2018-07-21
展开全部
如果在DOWN事件传递过来时返回false,那么剩下的MOVE直到UP的事件都不会被onTouch接收到;只要DOWN返回true,无论之后返回什么,直到UP的所有操作都可以收到了,所以在DOWN事件传递过来时返回true即可解决,如下:
public boolean onTouch(View view, MotionEvent motionEvent) {
if (motionEvent.getAction() == MotionEvent.ACTION_DOWN){
return true; //return false;
}
Log.d("Test", "pointerCount is " + event.getPointerCount());
if (motionEvent.getAction() == MotionEvent.ACTION_MOVE) {
//to add
} else if (motionEvent.getAction() == MotionEvent.ACTION_UP) {
//to add
}
//to add
return false;
}
public boolean onTouch(View view, MotionEvent motionEvent) {
if (motionEvent.getAction() == MotionEvent.ACTION_DOWN){
return true; //return false;
}
Log.d("Test", "pointerCount is " + event.getPointerCount());
if (motionEvent.getAction() == MotionEvent.ACTION_MOVE) {
//to add
} else if (motionEvent.getAction() == MotionEvent.ACTION_UP) {
//to add
}
//to add
return false;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
MotionEvent类中的getPointerCount方法获取触控点的数量,返回1可能是因为一个手指按压了屏幕。比如2则可能是两个手指同时按压屏幕。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询