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 回答