PDF阅读器是一款阅读器,内核使用的是foxit的so包,安装在pagex水墨平板上,类似于kindle,用户可以在上面阅读修改pdf、txt等格式的文件,也可以对文件格式进行转换,比如jpg转换成pdf,pdf的某个page转换成jpg保存。
1.主界面是书籍管理器,使用自定义recyclerview,展示书籍。
2.点击书籍进去是pdf界面,使用foxit的so包去解析pdf阅读器,可对pdf阅读器进行添加笔记,画,高亮,长按选中等等功能。由于foxit提供的view不符合需求,使用他们的jni,自己去封装,自定义viewgroup。
3.设计PDFView,定义集合存储pdf的界面,缓存设计为最多3个,模仿viewpager源码,重新定义滑动事件。实现放大缩小,手指触摸离开屏幕三秒,实现重新从pdf里面获取新的page转换成bitmap。
4.根据jni,实现橡皮擦功能,就是通过画的坐标点去获取周围的笔记,如果有笔记就从中删除点,根据项目经理提供的算法去实现快速删除。
5.删除pdf的某个page和添加page功能,通过jni去添加,然后刷新jni,界面刷新去显示。
6.自定义线程池,界面切换通过线程池去实现。
7.pdf缩略图通过jni获取pdf的所有page,转换成bitmap,使用线程池去控制,滑动界面就线程池添加线程,去实现显示刷新。