Android 大圖片預覽ViewPager


 

 

項目gitHub地址:  https://github.com/bm-x/PhotoView

 

個人項目gitHub地址:  https://github.com/anan03/ananwork/tree/master/PhotoView

 

 

PhotoView 圖片瀏覽縮放控件

和普通的ImageView一樣的使用方法

如使用過程中有任何bug,意見或建議,可郵件給我 bmme@vip.qq.com

效果圖

PhotoView PhotoView

注意

由於facebook的Fresco圖片加載組件所加載出來的drawable圖片並非真實的drawable,無法直接獲取圖片真實寬高,也無法直接響應ImageMatrix的變換, 且根據Fresco文檔的介紹,在后續的版本中,DraweeView會直接繼承自View,所有暫不考慮支持Fresco。 對於其他第三方圖片加載庫如Glide,ImageLoader,xUtils都是支持的

使用

1.Gradle添加依賴 (推薦)

dependencies {
    compile 'com.bm.photoview:library:1.4.1' }

(或者也可以將項目下載下來,將Info.java和PhotoView.java兩個文件拷貝到你的項目中,不推薦)

2.xml添加

 <com.bm.library.PhotoView
     android:id="@+id/img" android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="centerInside" android:src="@drawable/bitmap1" />

3.java代碼

PhotoView photoView = (PhotoView) findViewById(R.id.img); // 啟用圖片縮放功能 photoView.enable(); // 禁用圖片縮放功能 (默認為禁用,會跟普通的ImageView一樣,縮放功能需手動調用enable()啟用) photoView.disenable(); // 獲取圖片信息 Info info = photoView.getInfo(); // 從普通的ImageView中獲取Info Info info = PhotoView.getImageViewInfo(ImageView); // 從一張圖片信息變化到現在的圖片,用於圖片點擊后放大瀏覽,具體使用可以參照demo的使用 photoView.animaFrom(info); // 從現在的圖片變化到所給定的圖片信息,用於圖片放大后點擊縮小到原來的位置,具體使用可以參照demo的使用 photoView.animaTo(info,new Runnable() { @Override public void run() { //動畫完成監聽 } }); // 獲取/設置 動畫持續時間 photoView.setAnimaDuring(int during); int d = photoView.getAnimaDuring(); // 獲取/設置 最大縮放倍數 photoView.setMaxScale(float maxScale); float maxScale = photoView.getMaxScale(); // 設置動畫的插入器 photoView.setInterpolator(Interpolator interpolator);

版本

v1.4.0

  • 增加對普通ImageView的支持,可通過PhotoView的靜態方法getImageViewInfo(ImageView)從一個普通的ImageView中獲取Info,參照ImageViewActivity
  • 添加長按事件的監聽,setOnLongClickListener()
  • 提高圖片縮放到屏幕邊緣的情況下滑動的流暢性
  • 新增get/setAnimaDuring() get/setMaxScale 獲取設置動畫的持續時間和圖片最大縮放倍數
  • 通過setInterpolator可設置動畫插入器

v1.3.6

  • 增加圖片的旋轉功能
  • 版本號命名改變

v2.0.7

  • 寬高屬性可以設置為wrap_content,添加對adjustViewBounds屬性的支持
  • 修復某些情況下會閃動
  • 增加對ScaleType.FIT_START,FIT_END對animaFrom的支持

v2.0.0

  • 添加animaTo,animaFrom方法,支持圖片點擊放大縮小瀏覽功能
  • 添加enable()和disenable() 打開和關閉觸摸縮放方法,默認打開 (當普通ImageView使用的時候建議關閉觸摸縮放功能)
  • 支持所有ScaleType屬性

v1.0


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM