【问题标题】:GestureDetector not working for Android PdfViewer libGestureDetector 不适用于 Android PdfViewer lib
【发布时间】:2020-01-22 14:10:50
【问题描述】:

GestureDetector 在我点击空白活动屏幕时工作正常,但当我点击 Android pdfViewer(表示 pdf 文档)时它无法正常工作......请帮助我如何做到这一点。

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 中打开的文档

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

当我在打开的文档之外点击 GestureDetector 工作正常,但是当我点击 pdf 文档时 GestureDetector 不工作。

【问题讨论】:

  • 你能和我们分享一些代码来看看你在做什么吗?
  • @tomerpacific 问题已用代码编辑。

标签: android android-studio android-layout pdf-viewer


【解决方案1】:

得到Abhay Koradiya的答复,

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

所以你需要使用

dispatchTouchEvent

而不是那样。检查here

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-08
    • 1970-01-01
    • 2012-01-27
    相关资源
    最近更新 更多