我对Android手机的硬件有疑问。 他们有多个触摸传感器吗?
是否可以制作两个可以同时按下的按钮?
例如,我正在编写一个乒乓球比赛,我正在创建一个多人游戏模式(面对面的IRL)。然而,如果运动员1正在触摸屏幕以改变球拍的方向,则由于已经按下按钮,因此运动员2不能进行球拍改变方向。怎么解决这个问题?
答案 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
希望它有帮助!
问候!