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

相关文章
|
10天前
|
Web App开发 JavaScript
技术经验解读:【原创开源项目】EPUBBuilder一款在线的epub电子书编辑工具
技术经验解读:【原创开源项目】EPUBBuilder一款在线的epub电子书编辑工具
|
9月前
|
人工智能 边缘计算 安全
带你读《看见新力量》第七期电子书——序言
带你读《看见新力量》第七期电子书——序言
|
11月前
[视频]微课设计零基础入门 | 7.微课PPT的制作《用部首查字法查字典》
ppt只是一种可选的媒介,完全可以用其他工具代替。在后面的课程中,我们还会教大家用动画来制作微课。但由于大部分老师都对ppt熟悉,所以我们这里还是用ppt来做演示。
63 0
|
开发框架 小程序 开发工具
《小程序开发不求人电子书》电子版地址
《小程序开发不求人》深入浅出,结构清晰,语言诙谐生动,帮助读者快速掌握小程序开发技能。
70 0
《小程序开发不求人电子书》电子版地址
|
开发框架 小程序 开发工具
《小程序开发不求人电子书》电子版
《小程序开发不求人》深入浅出,结构清晰,语言诙谐生动,帮助读者快速掌握小程序开发技能。
116 0
《小程序开发不求人电子书》电子版
|
开发框架 小程序 开发工具
《小程序开发不求人电子书》电子版下载
《小程序开发不求人》深入浅出,结构清晰,语言诙谐生动,帮助读者快速掌握小程序开发技能。
107 0
《小程序开发不求人电子书》电子版下载
|
开发框架 小程序 开发工具
《小程序开发不求人电子书》电子版下载地址
《小程序开发不求人》深入浅出,结构清晰,语言诙谐生动,帮助读者快速掌握小程序开发技能。
79 0
《小程序开发不求人电子书》电子版下载地址
|
搜索推荐 Java
以后面试再也不怕被问Java并发编程了,多亏了这本PDF电子书
以后面试再也不怕被问Java并发编程了,多亏了这本PDF电子书
78 0
以后面试再也不怕被问Java并发编程了,多亏了这本PDF电子书
|
存储 设计模式 Java
十一长假我肝了这本超硬核PDF,现决定开源!!
在 【冰河技术】 微信公众号中的【互联网工程】专题,更新了不少文章,有些读者反馈说,在公众号中刷 历史文章不太方便,有时会忘记自己看到哪一篇了,当打开一篇文章时,似乎之前已经看过了,但就是不知道具体该看哪一篇了。相信很多小伙伴都会有这样的问题。那怎么办呢?最好的解决方案就是我把这些文章整理成PDF电子书,免费分享给大家,这样,小伙伴们看起来就方便多了。希望这本电子书能够给大家带来实质性的帮助。
108 0
十一长假我肝了这本超硬核PDF,现决定开源!!
关于微课的探讨一
微课就像破窗锤那个尖端的部分,而微课程就相当于它的另一面。
428 0