Android图片管理工具 弹窗 保活 音乐播放器 自定义View 计步器 项目框架

Android 加载PDF文件

2017-11-04  本文已影响518人  Android开发__落岑

今天按项目要求找了一个android的PDF控件,各种操作效果都非常好,在这里和大家分享一下。

用法很简单:

1.在build.gradle里面添加依赖 compile 'com.github.barteksc:android-pdf-viewer:2.8.0'

2.然后就可以直接在layout里面使用了

3.在Activity里面引用资源,就可以打开pdf文件了,而且这个控件有超级多的方法,支持很多功能

       pdfView= findViewById(R.id.pdfview);

      String url="http://www8.cao.go.jp/okinawa/8/2012/0409-1-1.pdf";

      String name=url.split("/")[url.split("/").length-1];

      String pdfPath =Environment.getExternalStorageDirectory().getAbsolutePath()                                           +"/Android/data/com.demo/downloadPPT/"+name;                                           

      File file =newFile(pdfPath);

       if(file.exists()){ //如果文件存在直接打开  

            Uri uri = Uri.fromFile(file);

             pdfView.fromUri(uri)          

                 .defaultPage(1)           

                .enableSwipe(true)        

                 .load();

     }else{     

              showZpDialog("加载中...",2);

              downLoadFile(url,pdfPath);//下载PDF文件

    }

private void  downLoadFile(String url, finalString pdfPath) {                      FileDownloader.getImpl().create(url).setWifiRequired(true).

setPath(pdfPath).setListener(newFileDownloadListener() {

@Override

protected void pending(BaseDownloadTask task, intsoFarBytes, inttotalBytes) {        }

@Override

protected void  progress(BaseDownloadTask task, intsoFarBytes, inttotalBytes) {        }

@Override

protected void blockComplete(BaseDownloadTask task) {        }

@Override

protected void completed(BaseDownloadTask task) {          

       hideZpDialog();//隐藏加载框

         Toast.makeText(LookPPTActivity.this,"下载完成!",Toast.LENGTH_SHORT).show();

         File file =newFile(pdfPath);

         Uri uri = Uri.fromFile(file);

             pdfView.fromUri(uri)                   

 .defaultPage(1)                   

 .enableSwipe(true)                    

.load();

}

@Override

protected void paused(BaseDownloadTask task, intsoFarBytes, inttotalBytes) {        }

@Override

protected void error(BaseDownloadTask task,Throwable e) {           

        hideZpDialog();

}

@Override 

protected void warn(BaseDownloadTask task) {}  

  }).start();

}

上一篇下一篇

猜你喜欢

热点阅读