【问题标题】:How to Scroll pdfView automatically with button click or volume buttons如何使用按钮单击或音量按钮自动滚动 pdfView
【发布时间】:2022-10-31 17:08:34
【问题描述】:

我正在使用 barteksc pdf 查看器库在我的应用程序中加载 pdf。

pdfView = findViewById(R.id.pdfView);
            pdfView.fromAsset(getResources().getString(R.string.pdfname))
                    .enableDoubletap(true)
                    .enableSwipe(true)
                    .defaultPage(pageNumber)
                    .onPageChange(mainreading.this)
                    .pageFitPolicy(FitPolicy.WIDTH)
                    .pageFling(true)
                    .linkHandler(null)
                    .enableAnnotationRendering(true)
                    .swipeHorizontal(true)
                    .scrollHandle(new DefaultScrollHandlenew(mainreading.this))
                    .enableAntialiasing(true)
                    .load();
        }

当用户单击音量增大和减小按钮开始停止时,我希望 pdf 自动开始滚动。我尝试使用下面的代码,同时使用 handler.performClick(); 将其包装在处理程序中;但它在上下滚动时显示空白屏幕。

    scrollbutton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            pdfView.scrollTo(0, pdfView.getScrollY() + 24);
        }
    });

例子 : https://play.google.com/store/apps/details?id=com.emptysheet.pdfreader_autoscroll&hl=en&gl=US

我想做这样的。任何人都可以帮忙吗?

也试过这个。但它在一些滚动后显示空白页面。

@Override
public boolean dispatchKeyEvent(KeyEvent event) {
    int action = event.getAction();
    int keyCode = event.getKeyCode();
    switch (keyCode) {
        case KeyEvent.KEYCODE_VOLUME_UP:
            if (action == KeyEvent.ACTION_DOWN) {
                pdfView.scrollTo(0, pdfView.getScrollY() -24);
            }
            return true;
        case KeyEvent.KEYCODE_VOLUME_DOWN:
            if (action == KeyEvent.ACTION_DOWN) {
                pdfView.scrollTo(0, pdfView.getScrollY() + 24);
            }
            return true;
        default:
            return super.dispatchKeyEvent(event);
    }
}

【问题讨论】:

    标签: android-studio autoscroll pdf-viewer


    【解决方案1】:

    您可以简单地从 github 使用这个 PDF 查看器。 它基于相同的“barsteksc”pdf 查看器,具有跳转到任何页面的功能。

    它是MagicalPdfViewer,您可以使用'jumpTo(pageNo)' 方法简单地跳转到特定页面。它还为您提供了使用相同方法为特定页面设置动画的选项,只需将“true”作为第二个参数传递。

    此外,如果您传递“-1”和“大于 pageNo”之类的值,它将分别自动滚动到第 0 页和最后一页。

    试一试,如果你得到你想要的,请告诉我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      相关资源
      最近更新 更多