我很难计算屏幕每个“半边”的触摸次数。 当我触摸上侧时它正确计数,而下侧则相同。但是,当我触摸上侧时,不要释放它,然后触摸下侧,然后它计算错误的一面,我的实施中出了什么问题?
myView.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
int action = event.getAction() & MotionEvent.ACTION_MASK;
if (action == MotionEvent.ACTION_DOWN) {
if(event.getY()<400)
{
}
else
{
}
}
if (action == MotionEvent.ACTION_UP) {
if(event.getY()<400)
{
zenbat=zenbat+1;
tv.setText(String.valueOf(zenbat));
}
if(event.getY()>400)
{
zenbat1=zenbat1+1;
tv1.setText(String.valueOf(zenbat1));
}
}
if (action == MotionEvent.ACTION_POINTER_DOWN) {
if(event.getY()<400)
{
}
else
{
}
}
if (action == MotionEvent.ACTION_POINTER_UP) {
if(event.getY()<400)
{
zenbat=zenbat+1;
tv.setText(String.valueOf(zenbat));
}
if(event.getY()>400)
{
zenbat1=zenbat1+1;
tv1.setText(String.valueOf(zenbat1));
}
}
return true;
}
});
答案 0 :(得分:1)
如果要正确处理多点触控事件,则需要使用指针索引正确识别产生事件的手指。
我在Android multi-touch interference回答了一个类似的问题,在那里我发布了一个代码示例,如何做到这一点。
要正确识别手指,您应参阅已发布代码中的fingerId
。
问候。