首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用onItemLongclick的GestureDetector

使用onItemLongclick的GestureDetector
EN

Stack Overflow用户
提问于 2011-10-11 11:41:55
回答 1查看 675关注 0票数 2

如何将GestureDetector与onItemLongClick集成?

我有一个包含三个图像的GridView。当我触摸第一个图像时,我想显示Toast消息。当我从屏幕上抬起手指时,我想显示第二个Toast消息。

我知道GestureDetector使用MotionEvent,但onItemLongClick不使用。但是在这种情况下,我需要跟踪图像在网格中的位置ID,因此不可能在onTouch()中实现?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-14 22:51:44

你可以使用这个类跟踪光标的运动,无论是屏幕上的触摸还是TrackBall的移动,如果光标穿过下一张图片,你就可以处理那个事件。以下是sdk示例中的一个示例:

代码语言:javascript
复制
    @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,它们还有更多的用途。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7721159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档