Android多点触控传感器编程

时间:2014-08-04 18:30:10

标签: java android touch multi-touch

我对Android手机的硬件有疑问。 他们有多个触摸传感器吗?

是否可以制作两个可以同时按下的按钮?

例如,我正在编写一个乒乓球比赛,我正在创建一个多人游戏模式(面对面的IRL)。然而,如果运动员1正在触摸屏幕以改变球拍的方向,则由于已经按下按钮,因此运动员2不能进行球拍改变方向。怎么解决这个问题?

1 个答案:

答案 0 :(得分:0)

是的,可以同时按下两个组件,你也可以从屏幕上的那些事件中获得多个回调,如下所示:

@Override
public boolean onTouchEvent(MotionEvent event) {
    int action = event.getAction();
    //Make sure is multi-touch...
    if (event.getPointerCount() > 1) {
        int pointerId = action & MotionEvent.ACTION_POINTER_ID_MASK;
        int actionEvent = action & MotionEvent.ACTION_MASK;
        //At this point you know the id of the touch event and what action just happened.
    }
    return super.onTouchEvent(event);
}

对于按钮上的多个事件,您不必担心触摸事件,如果两个按钮都设置了单击侦听器,则会自动触发这些侦听器。 “重要”:在Honeycomb之前不支持同时按下多个按钮,因此如果你的targetSDK低于Honeycomb,你将只获得一次点击事件而另一个将被忽略,更改targetSDK你应该没事。

这篇文章也解释了如何做到这一点: http://www.doepiccoding.com/blog/?p=250

希望它有帮助!

问候!