老程序员分享: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();

相关文章
|
5月前
|
程序员 开发工具 git
读书|程序员如何传书到 Kindle
​Kindle 注定渐行渐远,书籍则继续伴我们同行。
78 1
|
Kubernetes Cloud Native 算法
程序员必读十大电子书
福利大放送,程序员必读十大电子书免费读啦,快来一起学习吧!
|
数据安全/隐私保护 图形学 Windows
推荐五款宝藏软件,身为宝藏男孩和宝藏女孩的你,不试一下吗?
今天带来五款宝藏软件,身为宝藏男孩和宝藏女孩的你们,不试一下吗?
211 0
推荐五款宝藏软件,身为宝藏男孩和宝藏女孩的你,不试一下吗?
|
Web App开发 编解码 安全
⭐程序员必备软件图鉴⭐(建议收藏)
⭐程序员必备软件图鉴⭐(建议收藏)
⭐程序员必备软件图鉴⭐(建议收藏)
|
Web App开发 JavaScript 前端开发
【程序员的浪漫】七夕到了,还不快给你女朋友做一个专属chrome插件
【程序员的浪漫】七夕到了,还不快给你女朋友做一个专属chrome插件
170 0
【程序员的浪漫】七夕到了,还不快给你女朋友做一个专属chrome插件
写给普通人看的自媒体分享|万事开头难,勇于分享自己,我们都很棒!
相信自媒体这个词对于我们任何一个人来说都不陌生了,到底什么是自媒体呢?从名称属性来看,很简单,就是自己做自己的媒体,自己将自己的东西分享出来,就是自媒体。那么说的实际一点,对于我们普通人...
239 0
|
存储 设计模式 Java
十一长假我肝了这本超硬核PDF,现决定开源!!
在 【冰河技术】 微信公众号中的【互联网工程】专题,更新了不少文章,有些读者反馈说,在公众号中刷 历史文章不太方便,有时会忘记自己看到哪一篇了,当打开一篇文章时,似乎之前已经看过了,但就是不知道具体该看哪一篇了。相信很多小伙伴都会有这样的问题。那怎么办呢?最好的解决方案就是我把这些文章整理成PDF电子书,免费分享给大家,这样,小伙伴们看起来就方便多了。希望这本电子书能够给大家带来实质性的帮助。
138 0
十一长假我肝了这本超硬核PDF,现决定开源!!
|
人工智能 运维 前端开发
儿童节礼包!10 后都开始学编程了,你需要这个阿里技术电子书大全
技术人的成长,其实很像一场武林修炼。大学毕业,学成下山,初出茅庐,但真正的考验才刚刚开始。知识爆炸、技术更新迭代,技术人所面对的成长压力前所未有,就连过儿童节的 10 后孩子们都已经开始学习编程知识了,开发者们要如何修炼自己的能力才能不被“后浪”拍在沙滩上?
1364 0
儿童节礼包!10 后都开始学编程了,你需要这个阿里技术电子书大全