在Android应用中同时按下2个按钮,没有简单的解决方案?

时间:2017-11-19 13:35:36

标签: android android-button multi-touch

404 Bad Request

最初我认为这很容易做到,因为现在所有的手机都支持多点触控,但是现在我看起来很难看,这比我应该做的更难,我需要按下2个按钮同时开始游戏。我上面使用onClick监听器的方法并不起作用。最简单的方法是什么?因为到目前为止我找到的方法涉及使用OnTouchListener和ACTION_DOWN,然后记录一些坐标,并检查坐标是否在按钮区域内,这有点复杂。不仅如此,我的所有其他按钮都使用onClick,如果我只是用于启动游戏onTouch,我还必须将它用于所有其他按钮,或者我可以使用onClick留下它们吗?

1 个答案:

答案 0 :(得分:1)

条件if((v == start)&&(v == start2))永远不会成立。 v不能同时拥有两个不同的值。

onClick方法将被调用两次,一次按start按钮,另一次按start2按钮。

您可以使用isPressed方法检查同时按下视图的时间(ButtonView,因此它会继承其所有方法)。

换句话说:

@Override
public void onClick(View v) {

    if(start.isPressed() && start2.isPressed()) {
        start.setVisibility(View.GONE);
        start2.setVisibility(View.GONE);
        ...

按下第一个按钮时,会调用onClick,但条件为false。按下第二个按钮(并且仍按下第一个按钮)时,条件为真。