如何将GestureDetector与onItemLongClick集成?
我有一个包含三个图像的GridView。当我触摸第一个图像时,我想显示Toast消息。当我从屏幕上抬起手指时,我想显示第二个Toast消息。
我知道GestureDetector使用MotionEvent,但onItemLongClick不使用。但是在这种情况下,我需要跟踪图像在网格中的位置ID,因此不可能在onTouch()中实现?
发布于 2011-10-14 22:51:44
你可以使用这个类跟踪光标的运动,无论是屏幕上的触摸还是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;
}你可以在C:\YourInstallDir\android-sdk\samples\android-10\ApiDemos\src\com\example\android\apis\graphics\TouchPaint.java上阅读更多并在你的SDK中看到这个文件,或者只是在整个示例文件中搜索MotionEvent,它们还有更多的用途。
https://stackoverflow.com/questions/7721159
复制相似问题