Android:在一个手势中检测到两个手势
我正在制作一个需要检测点击的应用程序(我使用了Android:在一个手势中检测到两个手势,android,Android,我正在制作一个需要检测点击的应用程序(我使用了onsingletapp)并保持(我使用了onShowPress)。问题是,有时我所做的单击首先注册为保留,然后是单击。有办法解决这个问题吗 另外,我不想长时间点击,所以我没有使用OnLongClickListener 另外,我已经尝试使用OnClickListener进行单击,使用SimpleOnGestureListener进行保持,但没有检测到手势 相关代码 protected void onCreate(Bundle savedInstan
onsingletapp
)并保持(我使用了onShowPress
)。问题是,有时我所做的单击首先注册为保留,然后是单击。有办法解决这个问题吗
另外,我不想长时间点击,所以我没有使用OnLongClickListener
另外,我已经尝试使用OnClickListener
进行单击,使用SimpleOnGestureListener
进行保持,但没有检测到手势
相关代码
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.ground);
gl = new GestureDetector(this,new MyGl());
}
class MyGl extends GestureDetector.SimpleOnGestureListener {
@Override
public boolean onDown(MotionEvent event) {
return true;
}
@Override
public boolean onSingleTapUp(MotionEvent event) {
Log.i("motion","single");
return true;
}
@Override
public void onShowPress(MotionEvent e){
Log.i("motion","long");
}
}
@Override
public boolean onTouchEvent(MotionEvent e) {
return gl.onTouchEvent(e);
}
我希望只看到“单曲”被记录,但“长”先被记录,然后是“单曲”。在一个手势中检测到两个手势。听起来好像该API不打算直接(无限制地)与onSingleTapUp和onDown一起使用。你应该考虑阅读文档:“清楚地说: 每次停机事件都会立即触发 你需要根据特定的规格过滤掉它。阅读文档将解释原因
也许你应该考虑自己处理触摸事件,并为你所寻找的东西过滤触摸逻辑。我试着在线寻找解决方案,但不能点击基本上是一段时间,你在设备上的保留,对吗?我认为您需要从您正在使用的API以及MotionEvents的问题的角度,更深入地解释您正在尝试做什么。并解释为什么OnLongClickListener不适用于您。我正在寻找快速点击和保持之类的功能。longclicklistener无法工作,因为用户必须在一段时间后释放手指才能工作,但我不希望这样。我试着快速点击我的应用程序,但它首先被检测为保持,然后被检测为点击,但我不知道为什么会发生这种情况。你能发布一些代码吗,这将为你尝试的内容提供更多的上下文。好的,我已经添加了代码。我真的不明白你所说的“该api不打算直接用于OnSingleTapy vs ondown”。onDown应该返回真值,其他一切正常吗?你能举个例子吗?