Android 检测正在进行的触摸事件
我目前正在尝试在我的Android应用程序中检测正在进行的触摸事件。 详细地说,我想在一个片段中识别用户是否触摸了应用程序屏幕的任何部分 Android的OnTouchListener可以正常工作,除非触摸事件持续时间超过几秒钟而不移动 例如,前1-2秒的触摸被检测到,但之后的一切都不会被检测到Android 检测正在进行的触摸事件,android,touch,android-event,Android,Touch,Android Event,我目前正在尝试在我的Android应用程序中检测正在进行的触摸事件。 详细地说,我想在一个片段中识别用户是否触摸了应用程序屏幕的任何部分 Android的OnTouchListener可以正常工作,除非触摸事件持续时间超过几秒钟而不移动 例如,前1-2秒的触摸被检测到,但之后的一切都不会被检测到 是否有类似于OnPressListener或解决方法的功能?如果您试图检测的是定义良好的手势,请查看手势检测器 你可以用 aButton.setOnLongClickListener(new On
是否有类似于OnPressListener或解决方法的功能?如果您试图检测的是定义良好的手势,请查看手势检测器 你可以用
aButton.setOnLongClickListener(new OnLongClickListener() {
public boolean onLongClick(View arg0) {
Toast.makeText(getApplicationContext(), "Long Clicked " ,
Toast.LENGTH_SHORT).show();
return true; // <- set to true
}
});
属性在布局xml中指向您的aButton。我终于找到了它 解决方案是使用一个简单的OnTouchListener:
你需要一个长时间的新闻听众吗?是的,类似的感谢你的回答,但我需要一个事件,只要触摸持续,而不仅仅是触摸发生后的事件。
android:longClickable="true"
private boolean pressed = false;
@Override
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
if (action == MotionEvent.ACTION_DOWN) {
pressed = true;
} else if ((action == MotionEvent.ACTION_UP)
|| (action == MotionEvent.ACTION_CANCEL)) {
pressed = false;
}
return true;
}