老程序员分享:PDFViewer电子书阅读器

简介: 老程序员分享:PDFViewer电子书阅读器

PdfViewer是一款属性和接口全面的安卓电子书插件


地址:


依赖:implementation 'com.github.barteksc:android-pdf-viewer:3.2.0-beta.1'


[/span>com.github.barteksc.pdfviewer.PDFView


android:id="@+id/pdfView"


android:layout_Width</span>="match_parent"


android:layout_Height</span>="match_parent"/>


pdfView.fromUri(Uri)


or


pdfView.fromFile(File)


or


pdfView.fromBytes(byte【】)


or


pdfView.fromStream(InputStream) //代码效果参考:http://www.lyjsj.net.cn/wx/art_23881.html

// stream is written to bytearray - native code cannot use Java Streams

or


pdfView.fromSource(DocumentSource)


or


pdfView.fromAsset(String)


.pages(0, 2, 1, 3, 3, 3) // all pages are displayed by default


.enableSwipe(true) // allows to block changing pages using swipe


.swipeHorizontal(false)


.enableDoubletap(true)


.defaultPage(0)


// allows to draw something on the current page, usually visible in the middle of the screen


.onDraw(onDrawListener)


// allows to draw something on all pages, separately for every page. Called only for visible pages


.onDrawAll(onDrawListener)


.onLoad(onLoadCompleteListener) // called after document is loaded and starts to be rendered


.onPageChange(onPageChangeListener)


.onPageScroll(onPageScrollListener)


.onError(onErrorListener)


.onPageError(onPageErrorListener)


.onRender(onRenderListener) // called after document is rendered for the first time


// called on single tap, return true if handled, false to toggle scroll handle visibility


.onTap(onTapListener)


.onLongPress(onLongPressListener)


.enableAnnotationRendering(false) // render annotations (such as comments, colors or forms)


.password(null)


.scrollHandle(null)


.enableAntialiasing(true) // improve rendering a little bit on low-res screens


// spacing between pages in dp. To define spacing color, set view background


.spacing(0)


.autoSpacing(false) // add dynamic spacing to fit each page on its own on the screen


.linkHandler(DefaultLinkHandler)


.pageFitPolicy(FitPolicy.WIDTH) // mode to fit pages in the view


.fitEachPage(false) // fit each page to the view, else smaller pages are scaled relative to largest page.


.pageSnap(false) // snap pages to screen boundaries


.pageFling(false) // make a fling change only a single page like ViewPager


.nightMode(false) // toggle night mode


.load();


推荐使用:


pdfView.fromFile(new File(filePath))


.defaultPage(0)


.enableAntialiasing(true)


.enableDoubletap(false)


.onLoad(new OnLoadCompleteListener() {


@Override


public void loadComplete(int nbPages) {


Log.d(TAG, "loadComplete: ok!");


}


})


.onRender(new OnRenderListener() {


@Override


public void onInitiallyRendered(int nbPages) {


}


})


.onPageChange(new OnPageChangeListener() {


@Override


public void onPageChanged(int page, int pageCount) {


Log.d(TAG, "onPageChanged: 当前是第"+page+"页 总共"+pageCount);


}


})


.onPageScroll(new OnPageScrollListener() {


@Override


public void onPageScrolled(int page, float positionOffset) {


}


})


.load();


pdfView.fromFile(new File(filePath))


.enableSwipe(true) // 屏幕滑动


.enableDoubletap(false) //禁双击


.spacing(10) //页面之间距离 dp


.enableAntialiasing(true)


.pageFitPolicy(FitPolicy.WIDTH) //模式来适应视图中的页面


.pageSnap(true) //将页面对齐到屏幕边界


.nightMode(false)


.load();

相关文章
六、如何优雅地在PPT中使用课本插图?(附源文件) | 微课系列教程
上图,相信大家都不陌生吧!没错,《少年闰土》中的经典插图——看瓜刺猹。但这个图,不但没有高清版,就算有高清版,它的复古画风,不管如何都不好在PPT中排版啊。
480 0
|
前端开发 JavaScript
中秋之美——html+css+js制作中秋网页
中秋之美——html+css+js制作中秋网页
694 0
中秋之美——html+css+js制作中秋网页
|
2月前
|
机器学习/深度学习 前端开发 JavaScript
230+本图灵编程高清文字版无水印电子书合集【制作不易,点赞收藏❤️】
今日精选,200余本图灵出版的高质量编程电子书,覆盖编程、系统架构、算法及机器学习等热门领域,助你全面提升技术能力。无论你是初学者还是资深开发者,都能从中找到适合自己的学习资源,从《Python编程:从入门到实践》到《深度学习入门》,每一本书都将是你技术成长道路上的良师益友,帮助你在瞬息万变的技术浪潮中站稳脚跟,稳步前行。
104 2
|
2月前
|
算法 Java 程序员
【福利😍】2024年最新103本互联网大厂程序员编程书合集【高清文字版无水印pdf】
推荐优质编程电子书资源,涵盖Python入门、算法设计、Java高并发、Docker、机器学习等领域,适合从小白到高级开发者。书籍包括《编程小白的第一本Python入门书》、《编程珠玑》等,助你提升技能,紧跟技术前沿,在职场中脱颖而出。下载地址含国内外网盘链接,更多资源可访问资料吧网站获取。
207 0
|
6月前
|
Web App开发 JavaScript
技术经验解读:【原创开源项目】EPUBBuilder一款在线的epub电子书编辑工具
技术经验解读:【原创开源项目】EPUBBuilder一款在线的epub电子书编辑工具
152 0
[视频]微课设计零基础入门 | 7.微课PPT的制作《用部首查字法查字典》
ppt只是一种可选的媒介,完全可以用其他工具代替。在后面的课程中,我们还会教大家用动画来制作微课。但由于大部分老师都对ppt熟悉,所以我们这里还是用ppt来做演示。
85 0
|
移动开发 前端开发 安全
制作超美的个人网页(附源码带音乐
制作超美的个人网页(附源码带音乐
制作超美的个人网页(附源码带音乐
|
移动开发 前端开发 JavaScript
使用Javascript制作BadApple字符画视频 | 创作者训练营第二期
既然有小伙伴提出了这个问题,我就写一个完整教程,下次再有小伙伴问,直接看这篇,保管你用任何语言,任何框架都做得出来。
291 0
使用Javascript制作BadApple字符画视频 | 创作者训练营第二期
下一篇
DataWorks