b41219ad3832e3a5e1e420226679aa75fc29b8f6.svn-base 4.3 KB

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