我正在使用 recyclerview 展示很多 pdf。我正在将 pdf 的第一页转换为图像,然后将其显示在 pdf 文件旁边。我正在使用 glide 库来加载这些位图。但是,recyclerview 在滚动时滞后。如何让滚动流畅?
pdf转位图代码:-
public static Bitmap pdfToBitmap(File pdfFile) {
Bitmap bitmap = null;
try {
PdfRenderer renderer = new PdfRenderer(ParcelFileDescriptor.open(pdfFile, ParcelFileDescriptor.MODE_READ_ONLY));
final int pageCount = renderer.getPageCount();
if (pageCount > 0) {
PdfRenderer.Page page = renderer.openPage(0);
int width = (int) (page.getWidth());
int height = (int) (page.getHeight());
bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
page.render(bitmap, null, null, PdfRenderer.Page.RENDER_MODE_FOR_DISPLAY);
page.close();
renderer.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
return bitmap;
}
将位图加载到 imageview 中的代码:
Glide.with(viewHolder.itemView.getContext())
.load(bitmap)
.into(viewHolder.pdfImg);
答案 0 :(得分:0)
查看我使用 viewpager 显示位图 https://github.com/SaurabhDhage/Lightweight-pdf-viewer
的这个项目