8

我需要能够判断用户何时按住按钮以及用户何时松开。这与 onClickListener 和 onLongClickListener 不同。我将如何去做这样的事情?

例如,我按下一个启动计时器的按钮。(伪代码)

if ButtonIsBeingPressed
{
chronometer start(); //and keep going
}
else chronometer stop();
//or on release or something
}
4

1 回答 1

19

查看OnTouchListener它有向下(按下)和向上(释放)的 MotionEvents:

view.setOnTouchListener(new OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        switch(event.getAction()) {
        case MotionEvent.ACTION_DOWN:
            // Start
            break;
        case MotionEvent.ACTION_UP:
            // End
            break;
        }
        return false;
    }
});
于 2012-07-29T22:52:38.563 回答