我在玩GestureDetector,注意在OSX上的模擬器上運行時,永遠不會調用onFling方法。在OSX仿真器上未調用onFling?
我可以使它在windows下工作,但不能在osx上工作。
我用出色的代碼從這個帖子: Fling gesture detection on grid layout
這是代碼:
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
gestureDetector = new GestureDetector(new MyGestureDetector());
}
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
gestureDetector.onTouchEvent(event);
return false;
}
protected void addFlingSupportToView(int view) {
// TODO Auto-generated method stub
View v = (View) findViewById(view);
v.setOnTouchListener(this);
}
class MyGestureDetector extends SimpleOnGestureListener {
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
try {
if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH)
return false;
// right to left swipe
if (e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE
&& Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
} else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE
&& Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
// Log.i("vampidroid", CryptDetails.this.toString());
finish();
}
} catch (Exception e) {
// nothing
}
return false;
}
}
的問題是,雖然OnTouch被調用時,OnFling事件不會被調用!
我在窗戶上玩這個代碼,它工作正常。當我更改爲osx並嘗試一下時,它不起作用。
在設備上,代碼按預期工作。
你知道這可能是什麼嗎?它只與osx有關嗎?
我沒有在網上找到任何東西,所以我想也許這只是與我或沒有人檢查。
在此先感謝。
由於輸入的處理方式相同,聽起來很奇怪。 – Rob 2012-11-03 16:39:21