Android Listener用于检测屏幕被按下的时间

时间:2013-04-26 10:07:44

标签: android touch listener

我的Android应用中有一个视图,应该在按下屏幕时不断更新。我发现大多数听众只有在用户第一次触摸屏幕时,或者当用户从屏幕上移开他的手时,才会使视图无效。

只要屏幕被触摸,是否会持续触发听众?或者还有其他方法吗?我知道,这听起来很简单,但我找不到办法。

1 个答案:

答案 0 :(得分:8)

覆盖onTouch()并在ACTION_DOWN中设置一个标记。只要在此之后未调用ACTION_UP,用户就会触摸屏幕。

boolean pressed = false;

@Override
    public boolean onTouch(View v, MotionEvent event) {

        //int action = event.getAction();
        switch (event.getAction()){
        case MotionEvent.ACTION_DOWN:
            pressed = true;
        break;

        case MotionEvent.ACTION_MOVE:
            //User is moving around on the screen
        break;

        case MotionEvent.ACTION_UP:
            pressed = false;
        break;
        }
        return pressed;
    }