我需要在多於一個視圖上檢測不同的手勢。我的觀點需要能夠接收點按,雙擊和拖動事件。我嘗試了手勢檢測器,但是我的實現只顯示全局手勢事件,而我無法將這些事件連接到特定視圖。android - 在不同視圖上檢測手勢
在我activity.onCreate:
dthandler = new DoubleTapHandler();
mDetector = new GestureDetector(this,dthandler);
gestureListener = new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
Log.d("myLog","touch");
mDetector.onTouchEvent(event);
return false;
}
};
在我的活動我
覆蓋dispatchTouch功能:
@Override
public boolean dispatchTouchEvent(MotionEvent me){
this.mDetector.onTouchEvent(me);
return super.dispatchTouchEvent(me);
}
這是我嘗試使用TouchEvent我的看法連接:
prod.setOnTouchListener(this.gestureListener);
我DoubleTapHandler:
public class DoubleTapHandler implements OnDoubleTapListener, OnGestureListener {
private ProductView relatedView;
@Override
public boolean onDoubleTapEvent(MotionEvent e) {
Log.d("myLog", "onDoubleTapEvent");
Log.d("myLog",""+e.getSource());
return false;
}
@Override
public boolean onDoubleTap(MotionEvent e) {
Log.d("myLog", "onDoubleTap"+relatedView);
return false;
}
@Override
public boolean onSingleTapConfirmed(MotionEvent e) {
Log.d("myLog", "singletap");
return false;
}
}
任何人有一個建議嗎? 謝謝!
我該怎麼做? – Anthea 2011-05-27 09:55:44
你做了prod.setOnTouchListener(),你也可以做特定的視圖,以使他們對你的手勢作出反應。 – ACM64 2011-05-27 10:12:58
正確的我做到了(prod是我的觀點之一)。但我沒有收到這個觀點的姿態。我只收到OnTouch事件。 – Anthea 2011-05-27 10:46:44