有没有一种方法可以使用Flutter检测pdf中的触摸?

时间:2020-07-25 09:33:22

标签: flutter pdf dart

我正在使用dart pdf library,并且我想在查看pdf时检测屏幕上的触摸。有没有办法做到这一点?为了查看pdf文件,我使用了PDFViewerScaffold和创建文件的路径。我尝试用PDFViewerScaffoldListener包装GestureDetector,但是没有运气。 到目前为止,我的代码:

查看pdf文件:

class PdfViewerPage extends StatelessWidget {
  final String path;
  const PdfViewerPage({Key key, this.path}) : super(key: key);
  @override
  Widget build(BuildContext context) {
    return PDFViewerScaffold(
          path: path,
    );
  }
}

制作pdf文件

final Document pdf = Document();

...

pdf.addPage(MultiPage(
      pageFormat:
      ...
      footer: (Context context) {
        ...
      },
      build: (Context context) => <Widget>[
        ...
...

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

前一段时间,我遇到了同样的问题,FlutterFullPdfViewer使用本机组件并将其封装在只能通过本机代码操作的FrameLayout(在android中)中。 我所做的是我分叉了项目,并添加了自己的实现。 在android部分中,您有一个在FlutterFullPdfViewerManager.java中调用的方法:

ItemsSource

您可以将其更改为:

void openPDF(String path) {
    File file = new File(path);
    pdfView.fromFile(file)
            .enableSwipe(true)
            .swipeHorizontal(false)
            .enableDoubletap(true)
            .defaultPage(0)
            .load();
}

或者类似的东西,您还会发现在pdfView上可以做很多额外的事情,对您有帮助。

相关问题