Android屏幕触摸动作

时间:2015-01-13 23:10:23

标签: android ontouchevent

我正在开发一个Android项目,我需要知道用户是否触摸屏幕或触摸屏幕,我经常需要这个。我怎样才能做到这一点? 我在Switch case中使用Touch Event进行操作Up和action down但只能运行一次。我也试过了波纹管代码,但它只给了我第一次触摸的var(int变量)的值。

我的代码:

int var=-1;
@Override
public boolean onTouchEvent(MotionEvent event) {

    int action = event.getAction();

    if(action==MotionEvent.ACTION_DOWN)var=1;
    if(action==MotionEvent.ACTION_UP)var=0;
    if(action==MotionEvent.ACTION_MOVE)var=1;

    return super.onTouchEvent(event); 
}

我一次又一次地需要var的值。

1 个答案:

答案 0 :(得分:1)

由于onTouchEvent是触摸事件遍历的最后一点,如果其中一个孩子已经消耗了触摸事件(如果您为false事件返回了MotionEvent.ACTION_DOWN,则可能无法调用它表示你根本不对这个手势感兴趣。

对于您的问题,我宁愿使用dispatchTouchEvent()代替onTouchEvent()并跟踪那里的触摸。

有关详细信息,我强烈建议您熟悉有关Android Touch System的talk from Dave Smith