GestureDetector 不适用于 Android PdfViewer lib [英] GestureDetector not working for Android PdfViewer lib

查看:18
本文介绍了GestureDetector 不适用于 Android PdfViewer lib的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

GestureDetector 在我点击空活动屏幕时工作正常,但当我点击 Android pdfViewer(意味着 pdf 文档)时它不起作用......请帮助我如何做.

GestureDetector working fine when i tap on empty activity screen but it's not working when I tap on Android pdfViewer(means pdf document)....Please help me how to do it.

GestureDetector gestureDetector = new GestureDetector(this, new GestureDetector.SimpleOnGestureListener() {

        @Override
        public boolean onSingleTapUp(MotionEvent e) {
            //------------------apply your logic here------------
            return super.onSingleTapUp(e);
        }

        @Override
        public boolean onSingleTapConfirmed(MotionEvent e) {
            return super.onSingleTapConfirmed(e);
        }
    });      

@Override
public boolean onTouchEvent(MotionEvent event) {
    gestureDetector.onTouchEvent(event);
    return super.onTouchEvent(event);
}

在 Android PdfViewer 中打开的文档

Document opened in Android PdfViewer

<com.github.barteksc.pdfviewer.PDFView
        android:id="@+id/pdfView"
        android:layout_width="200dp"
        android:layout_height="200dp" />

当我在打开的文档之外单击 GestureDetector 工作正常但当我单击 pdf 文档时 GestureDetector 不起作用.

when i click outside of opened doc GestureDetector working fine but when i click on pdf document GestureDetector not wrok.

推荐答案

Got Answer from Abhay Koradiya,

Got Answer from Abhay Koradiya,

问题是 onTouchEvent 如果附加 pdfviewer 则不会调用 => 这是因为 pdfviewer 已经消耗了触摸事件.

issue was onTouchEvent that not called if pdfviewer attached => This hapen because pdfviewer already consumed touch event.

所以你需要使用

dispatchTouchEvent

dispatchTouchEvent

而不是那个.检查此处

@Override
public boolean dispatchTouchEvent(MotionEvent event) {
    gestureDetector.onTouchEvent(event);
    return super.dispatchTouchEvent(event);
}

这篇关于GestureDetector 不适用于 Android PdfViewer lib的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆