我尝试了android手势指南的代码。
class GraphGestureListener extends GestureDetector.SimpleOnGestureListener
{
private static final String DEBUG_TAG = "Gestures";
@Override
public boolean onDown(MotionEvent event)
{
Log.d(DEBUG_TAG, "onDown: " + event.toString());
return true;
}
@Override
public boolean onFling(MotionEvent event1, MotionEvent event2,
float velocityX, float velocityY)
{
Log.d(DEBUG_TAG,
"onFling: " + event1.toString() + event2.toString());
return true;
}
}我不确定我是否遗漏了这里的要点,但当我在我的设备上执行上述手势时,我从未设法让onFling消息在LogCat中显示。我一直用onDown代替。是因为onDown每次都会拦截它吗?
发布于 2014-02-03 04:38:02
我已经修好了。
我在前面的一个例子中看到了onTouchEvent:
@Override
public boolean onTouchEvent(MotionEvent event)
{
this._detector.onTouchEvent(event);
return super.onTouchEvent(event);
}通过返回检测器的onTouchEvent结果,我现在成功地捕获了所有事件:
@Override
public boolean onTouchEvent(MotionEvent event)
{
return this._detector.onTouchEvent(event);
}不过,我对android并不陌生,这只是一时兴起。对于第一个样本为什么阻塞其他事件,有人有合理的解释吗?
https://stackoverflow.com/questions/21519277
复制相似问题