我正在开发一个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的值。
答案 0 :(得分:1)
由于onTouchEvent
是触摸事件遍历的最后一点,如果其中一个孩子已经消耗了触摸事件(如果您为false
事件返回了MotionEvent.ACTION_DOWN
,则可能无法调用它表示你根本不对这个手势感兴趣。
对于您的问题,我宁愿使用dispatchTouchEvent()
代替onTouchEvent()
并跟踪那里的触摸。
有关详细信息,我强烈建议您熟悉有关Android Touch System的talk from Dave Smith