2

私はまだこれに比較的慣れていませんが、ユーザーが一度に 2 つのボタンを押すことができることで大きなメリットが得られる小さなアプリを開発しています。これを達成するための最良の方法は何ですか?OnClickListener がそのように機能するとは思いません。OnTouch イベントでこれを行う例を見てきました。ただし、OnTouch イベントでボタンの押下を設定する方法がわかりません。

4

2 に答える 2

5

タッチ イベントを自分で処理する必要があります。マルチポインター (別名マルチタッチ) API を使用すると、非常に簡単です。onTouchEvent() メソッドをオーバーライドするか、ボタンに OnTouchListener を登録するだけです。

于 2010-03-27T06:56:37.720 に答える
3
@Override
public boolean onTouchEvent (MotionEvent event) {
    if (event.getAction()==MotionEvent.ACTION_UP) {
        // reset all buttons
        ...
    }
    else {
        int count=event.getPointerCount(),vx1=-1,vy1=-1,vx2=-1,vy2=-1;
        if (count>=1) {
            vx1=(int)event.getX(0);
            vy1=(int)event.getY(0);
        }
        if (count>=2) {
            vx2=(int)event.getX(1);
            vy2=(int)event.getY(1);
        }
        ...
    }
    return true;
}
于 2010-05-03T12:02:15.907 に答える