0f1e5d14504a2a080288f5c8edfa05bbbc1f9bc6.svn-base 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. package eVVM.apk.ui.webview;
  2. import android.content.Intent;
  3. import android.os.Environment;
  4. import com.allen.library.RxHttpUtils;
  5. import com.allen.library.download.DownloadObserver;
  6. import com.github.barteksc.pdfviewer.PDFView;
  7. import com.github.barteksc.pdfviewer.listener.OnLoadCompleteListener;
  8. import com.github.barteksc.pdfviewer.listener.OnPageChangeListener;
  9. import butterknife.BindView;
  10. import eVVM.apk.R;
  11. import eVVM.apk.common.MyActivity;
  12. public class PDFActivity extends MyActivity {
  13. @BindView(R.id.pdfView)
  14. PDFView pdfView;
  15. @Override
  16. protected int getLayoutId() {
  17. return R.layout.activity_pdf;
  18. }
  19. @Override
  20. protected int getTitleId() {
  21. return 0;
  22. }
  23. @Override
  24. protected void initView() {
  25. //获取到文件在本地存储的路径
  26. final String pdfpath = Environment.getExternalStorageDirectory() +
  27. "/PDFdownload";
  28. Intent in = getIntent();
  29. String pdfdownurl = in.getStringExtra("pdfdownurl");
  30. final String pdfname = "pdfdata1.pdf"; //后缀必须加 是.pdf
  31. showLoading();
  32. RxHttpUtils.downloadFile(pdfdownurl)
  33. //.subscribe(new DownloadObserver(fileName,destFileDir) 其中 destFileDir是自定义下载存储路径
  34. .subscribe(new DownloadObserver(pdfname, pdfpath) {
  35. //可以通过配置tag用于取消下载请求
  36. @Override
  37. protected String setTag() {
  38. return "download";
  39. }
  40. @Override
  41. protected void onError(String errorMsg) {
  42. showComplete();
  43. toast(errorMsg);
  44. }
  45. @Override
  46. protected void onSuccess(long bytesRead, long contentLength, float progress, boolean done, String filePath) {
  47. // btnProveDownload.setText("" + progress + "%");
  48. if (done) {
  49. //btnProveDownload.setText("下载\n完成");
  50. // toast("下载完成,请上传");
  51. showComplete();
  52. toast("加载成功");
  53. getPdf(pdfname, filePath); //显示pdf
  54. }
  55. }
  56. });
  57. }
  58. private void getPdf(String pdfName, String filePath) {
  59. pdfView.fromAsset(pdfName)
  60. //是否允许翻页,默认是允许翻页
  61. .enableSwipe(true)
  62. //pdf文档翻页是否是垂直翻页,默认是左右滑动翻页
  63. .swipeHorizontal(true)
  64. //
  65. .enableDoubletap(false)
  66. //设置默认显示第0页
  67. .defaultPage(1)
  68. //允许在当前页面上绘制一些内容,通常在屏幕中间可见。
  69. // .onDraw(onDrawListener)
  70. // // 允许在每一页上单独绘制一个页面。只调用可见页面
  71. // .onDrawAll(onDrawListener)
  72. //设置加载监听
  73. .onLoad(new OnLoadCompleteListener() {
  74. @Override
  75. public void loadComplete(int nbPages) {
  76. }
  77. })
  78. //设置翻页监听
  79. .onPageChange(new OnPageChangeListener() {
  80. @Override
  81. public void onPageChanged(int page, int pageCount) {
  82. }
  83. })
  84. //设置页面滑动监听
  85. // .onPageScroll(onPageScrollListener)
  86. // .onError(onErrorListener)
  87. // 首次提交文档后调用。
  88. // .onRender(onRenderListener)
  89. // 渲染风格(就像注释,颜色或表单)
  90. .enableAnnotationRendering(false)
  91. .password(null)
  92. .scrollHandle(null)
  93. // 改善低分辨率屏幕上的渲染
  94. .enableAntialiasing(true)
  95. // 页面间的间距。定义间距颜色,设置背景视图
  96. .spacing(0)
  97. .load();
  98. }
  99. @Override
  100. protected void initData() {
  101. }
  102. }