最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android 打開本地pdf文件

 更新時(shí)間:2017年04月01日 17:05:04   作者:請(qǐng)叫我小東子  
Android 中打開pdf文件也是一種很常見的場(chǎng)景,本文主要介紹了Android打開本地pdf文件的方法。具有很好的參考價(jià)值。下面跟著小編一起來看下吧

Android 中打開pdf文件也是一種很常見的場(chǎng)景,但是上網(wǎng)找了好多資料,有用WebView加載的,但是要用vpn才能搞,最后發(fā)現(xiàn)一個(gè)庫挺不錯(cuò)的,再次分享給大家

android-pdfview。下面主要說一下該庫的使用方法。

1. 該庫的下載地址

https://github.com/JoanZapata/android-pdfview

源碼下載:http://xiazai.jb51.net/201704/yuanma/android-pdfview-master_jb51.rar

2. android-pdfview的簡(jiǎn)單介紹

PDFView是這個(gè)庫中最核心的類,用于加載pdf文件,PDFView是的實(shí)現(xiàn)是繼承于SurfaceView來實(shí)現(xiàn)的。主要用到了建造者模式來設(shè)置相關(guān)的屬性。

fromFile(file) //設(shè)置pdf文件地址
fromAsset(assetFileName) //設(shè)置pdf文件地址
defaultPage(1) //設(shè)置默認(rèn)顯示第1頁
onPageChange(this) //設(shè)置翻頁監(jiān)聽
onLoad(this) //設(shè)置加載監(jiān)聽
onDraw(this) //繪圖監(jiān)聽
showMinimap(false) //pdf放大的時(shí)候,是否在屏幕的右上角生成小地圖
swipeVertical( false ) //pdf文檔翻頁是否是垂直翻頁,默認(rèn)是左右滑動(dòng)翻頁
enableSwipe(true) //是否允許翻頁,默認(rèn)是允許翻頁
pages() //把2 , 3 , 4 , 5 過濾掉
load();

3. 在項(xiàng)目的build.gradle添加這個(gè)依賴

compile 'com.joanzapata.pdfview:android-pdfview:1.0.4@aar'

4.寫一個(gè)布局文件

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:id="@+id/activity_main"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
tools:context="com.lidong.pdf.androidpdf.MainActivity">
 <com.joanzapata.pdfview.PDFView
 android:id="@+id/pdfView"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 />
</RelativeLayout>

5.Activity的實(shí)現(xiàn)

package com.lidong.pdf.androidpdf;

import android.graphics.Canvas;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.ViewTreeObserver;
import android.widget.Toast;

import com.joanzapata.pdfview.PDFView;
import com.joanzapata.pdfview.listener.OnDrawListener;
import com.joanzapata.pdfview.listener.OnLoadCompleteListener;
import com.joanzapata.pdfview.listener.OnPageChangeListener;

import java.io.File;

public class MainActivity extends AppCompatActivity implements OnPageChangeListener
 ,OnLoadCompleteListener, OnDrawListener {
 private PDFView pdfView ;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);

 pdfView = (PDFView) findViewById( R.id.pdfView );

 //從assets目錄讀取pdf
 displayFromAssets("0010000022464002F__李東.pdf");

 //從文件中讀取pdf
// displayFromFile( new File( "fileName"));

 }

 private void displayFromAssets(String assetFileName ) {
 pdfView.fromAsset(assetFileName) //設(shè)置pdf文件地址
  .defaultPage(1)  //設(shè)置默認(rèn)顯示第1頁
  .onPageChange(this) //設(shè)置翻頁監(jiān)聽
  .onLoad(this)  //設(shè)置加載監(jiān)聽
  .onDraw(this)  //繪圖監(jiān)聽
  .showMinimap(false) //pdf放大的時(shí)候,是否在屏幕的右上角生成小地圖
  .swipeVertical( false ) //pdf文檔翻頁是否是垂直翻頁,默認(rèn)是左右滑動(dòng)翻頁
  .enableSwipe(true) //是否允許翻頁,默認(rèn)是允許翻頁
//   .pages() //把 5 過濾掉
  .load();
 }

 private void displayFromFile( File file ) {
 pdfView.fromFile(file) //設(shè)置pdf文件地址
  .defaultPage(6)  //設(shè)置默認(rèn)顯示第1頁
  .onPageChange(this) //設(shè)置翻頁監(jiān)聽
  .onLoad(this)  //設(shè)置加載監(jiān)聽
  .onDraw(this)  //繪圖監(jiān)聽
  .showMinimap(false) //pdf放大的時(shí)候,是否在屏幕的右上角生成小地圖
  .swipeVertical( false ) //pdf文檔翻頁是否是垂直翻頁,默認(rèn)是左右滑動(dòng)翻頁
  .enableSwipe(true) //是否允許翻頁,默認(rèn)是允許翻
  // .pages( 2 ,5 ) //把2 5 過濾掉
  .load();
 }

 /**
 * 翻頁回調(diào)
 * @param page
 * @param pageCount
 */
 @Override
 public void onPageChanged(int page, int pageCount) {
 Toast.makeText( MainActivity.this , "page= " + page +
  " pageCount= " + pageCount , Toast.LENGTH_SHORT).show();
 }

 /**
 * 加載完成回調(diào)
 * @param nbPages 總共的頁數(shù)
 */
 @Override
 public void loadComplete(int nbPages) {
 Toast.makeText( MainActivity.this , "加載完成" + nbPages , Toast.LENGTH_SHORT).show();
 }

 @Override
 public void onLayerDrawn(Canvas canvas, float pageWidth, float pageHeight, int displayedPage) {
 // Toast.makeText( MainActivity.this , "pageWidth= " + pageWidth + "
 // pageHeight= " + pageHeight + " displayedPage=" + displayedPage , Toast.LENGTH_SHORT).show();
 }
}

效果實(shí)現(xiàn):

這里寫圖片描述

這里寫圖片描述

今天主要是簡(jiǎn)單使用一下,后面準(zhǔn)備將該庫進(jìn)行拓展,是打開網(wǎng)絡(luò)的pdf文件的功能。

以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持腳本之家!

相關(guān)文章

  • 在kotlin的安卓項(xiàng)目中使用dagger的操作方法

    在kotlin的安卓項(xiàng)目中使用dagger的操作方法

    在 Kotlin 的 Android 項(xiàng)目中使用 ??Dagger??(特別是 ??Dagger Hilt??,官方推薦的簡(jiǎn)化版)進(jìn)行依賴注入(DI)可以大幅提升代碼的可測(cè)試性和模塊化程度,這篇文章主要介紹了在kotlin的安卓項(xiàng)目中使用dagger的相關(guān)操作,需要的朋友可以參考下
    2025-04-04
  • 詳解Flutter網(wǎng)絡(luò)圖片本地緩存的實(shí)現(xiàn)

    詳解Flutter網(wǎng)絡(luò)圖片本地緩存的實(shí)現(xiàn)

    這篇文章主要為大家介紹了詳解Flutter網(wǎng)絡(luò)圖片本地緩存的實(shí)現(xiàn)示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • Android ViewPager實(shí)現(xiàn)動(dòng)畫切換效果

    Android ViewPager實(shí)現(xiàn)動(dòng)畫切換效果

    這篇文章主要為大家詳細(xì)介紹了Android ViewPager實(shí)現(xiàn)動(dòng)畫切換效果的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • Android TextView多文本折疊展開效果

    Android TextView多文本折疊展開效果

    這篇文章主要為大家詳細(xì)介紹了Android TextView多文本折疊展開效果的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • Android開發(fā)手冊(cè)SeekBar拖動(dòng)條使用實(shí)例

    Android開發(fā)手冊(cè)SeekBar拖動(dòng)條使用實(shí)例

    這篇文章主要為大家介紹了Android開發(fā)手冊(cè)SeekBar拖動(dòng)條使用實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Android持久化技術(shù)之SharedPreferences存儲(chǔ)實(shí)例詳解

    Android持久化技術(shù)之SharedPreferences存儲(chǔ)實(shí)例詳解

    這篇文章主要介紹了Android持久化技術(shù)之SharedPreferences存儲(chǔ),結(jié)合實(shí)例形式較為詳細(xì)的分析了SharedPreferences存儲(chǔ)的原理、應(yīng)用及具體實(shí)現(xiàn)方法,需要的朋友可以參考下
    2016-01-01
  • Android使用fragment實(shí)現(xiàn)左側(cè)導(dǎo)航

    Android使用fragment實(shí)現(xiàn)左側(cè)導(dǎo)航

    這篇文章主要為大家詳細(xì)介紹了Android使用fragment實(shí)現(xiàn)左側(cè)導(dǎo)航,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Android10 App啟動(dòng)Activity源碼分析

    Android10 App啟動(dòng)Activity源碼分析

    這篇文章主要為大家介紹了Android10 App啟動(dòng)Activity源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • Android標(biāo)題欄最右邊添加按鈕的實(shí)例

    Android標(biāo)題欄最右邊添加按鈕的實(shí)例

    這篇文章主要介紹了Android標(biāo)題欄最右邊添加按鈕的實(shí)例的相關(guān)資料,希望通過本文大家能掌握如何操作,需要的朋友可以參考下
    2017-09-09
  • Android自動(dòng)獲取短信驗(yàn)證碼功能

    Android自動(dòng)獲取短信驗(yàn)證碼功能

    這篇文章主要介紹了Android自動(dòng)獲取短信驗(yàn)證碼功能,通過自定義短信監(jiān)聽器用于自動(dòng)填充驗(yàn)證碼功能,具體實(shí)現(xiàn)代碼大家可以參考下本文
    2017-04-04

最新評(píng)論

肥西县| 高安市| 神池县| 礼泉县| 车致| 凉山| 华坪县| 金川县| 泌阳县| 建德市| 邯郸市| 丁青县| 平昌县| 宿迁市| 修文县| 射阳县| 钦州市| 方山县| 株洲市| 高陵县| 涡阳县| 双流县| 黎城县| 沁阳市| 隆德县| 永春县| 从化市| 石屏县| 堆龙德庆县| 东莞市| 会泽县| 航空| 襄汾县| 上杭县| 洪雅县| 竹北市| 乐亭县| 磴口县| 苗栗县| 东乡族自治县| 冕宁县|