【发布时间】: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