如何使用onItemLongClick來集成GestureDetector?使用onItemLongclick的手勢檢測器
我有一個GridView包含三個圖像。當我觸摸第一張圖片時,我想顯示Toast消息。當我從屏幕上擡起手指時,我想顯示第二個Toast消息。
我知道GestureDetector使用MotionEvent,但onItemLongClick不。但在這種情況下,我需要跟蹤圖像在網格中的位置ID,因此無法在onTouch()內實現?
如何使用onItemLongClick來集成GestureDetector?使用onItemLongclick的手勢檢測器
我有一個GridView包含三個圖像。當我觸摸第一張圖片時,我想顯示Toast消息。當我從屏幕上擡起手指時,我想顯示第二個Toast消息。
我知道GestureDetector使用MotionEvent,但onItemLongClick不。但在這種情況下,我需要跟蹤圖像在網格中的位置ID,因此無法在onTouch()內實現?
您可以使用此類跟蹤光標的運動,無論是屏幕觸摸還是TrackBall移動,並且如果它跨越到下一張圖片中,則可以處理該事件。下面是從SDK中的例子所採取的例子:
@Override public boolean onTouchEvent(MotionEvent event) {
int action = event.getActionMasked();
if (action != MotionEvent.ACTION_UP && action != MotionEvent.ACTION_CANCEL) {
int N = event.getHistorySize();
int P = event.getPointerCount();
for (int i = 0; i < N; i++) {
for (int j = 0; j < P; j++) {
mCurX = event.getHistoricalX(j, i);
mCurY = event.getHistoricalY(j, i);
drawPoint(mCurX, mCurY,
event.getHistoricalPressure(j, i),
event.getHistoricalTouchMajor(j, i));
}
}
for (int j = 0; j < P; j++) {
mCurX = event.getX(j);
mCurY = event.getY(j);
drawPoint(mCurX, mCurY, event.getPressure(j), event.getTouchMajor(j));
}
}
return true;
}
你可以閱讀更多,請參閱下,在您的SDK文件:\ YourInstallDir \ Android的SDK \樣本\ Android的10 \ ApiDemos的\ src \ COM \例如\ android \ apis \ graphics \ TouchPaint.java或者只搜索MotionEvent的整個示例文件,還有其他幾個用途。
爲什麼你需要longclick當你想要的只是onTouchEvent並嗅出你想要的動作事件。 http://developer.android.com/reference/android/view/MotionEvent.html – JPM
嗨,但如果觸摸第一個圖像,並且將手指拖動到第二個圖像而不擡起手指,MotionEvent將能夠跟蹤此操作? 如果不是,我應該使用什麼類? – star