1. 程式人生 > >移動開發----PhotoView 圖片瀏覽縮放控制元件

移動開發----PhotoView 圖片瀏覽縮放控制元件

PhotoView 圖片瀏覽縮放控制元件

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

如使用過程中有任何bug,意見或建議,可郵件給我 [email protected]

效果圖

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

相關推薦

移動開發----PhotoView 圖片瀏覽控制元件

PhotoView 圖片瀏覽縮放控制元件 和普通的ImageView一樣的使用方法 如使用過程中有任何bug,意見或建議,可郵件給我 [email protected] 效果圖   注意 由於facebook的Fresco圖片載入元件所加載出來的d

百度地圖開發(三)隱藏Logo/比例尺/控制元件/放大縮小方法

隱藏百度地圖的Logo: View child = mMapView.getChildAt(1); if (child != null && (child instanceof ImageView || child instanceof ZoomControls)) {

Swift封裝圖片瀏覽,多張圖片瀏覽,,gif圖片的播放

封裝了一個圖片瀏覽器,實現了圖片的瀏覽,縮放,支援多張圖片的瀏覽縮放,儲存到相簿等功能 實現功能 1.圖片瀏覽,根據圖片的大小適應,瀏覽長圖 2.多張圖片左右滑動瀏覽 3.圖片的縮放 4.播放gif圖片 實現技術 1.使用UICollectio

android photoview 圖片放大功能 ImageView

android 圖片瀏覽功能  圖片放大縮小   使用 photoview 雙擊或雙指縮放的ImageView 使用多點觸控和雙擊。 滾動,以平滑滾動甩。 github  下載地址:  https://github.com/chrisbanes/PhotoView

vue-leaflet如何設定地圖的Leaflet Controls樣式,更改地圖的控制元件、右下角狀態控制元件的顯示隱藏

首先效果如圖:隱藏掉放大縮小控制元件和右下角的logo等引數資訊。  只需要在map的options屬性裡設定如下兩個引數為false: zoomControl: false, attributionControl: false, 要注意並不是所有屬性都可以在opti

android控制元件之ZoonControls(控制元件)的使用

我們在android開發的過程中經常看到的縮放圖示按鈕。 ZoomControls的使用,主要是監聽兩個事件: OnZoomInClickListener(放大監聽事件) OnZoomOutClickListener(縮小監聽事件) 該控制元件使用非常簡單。 以縮放tex

Android仿微信朋友圈九宮格圖片展示自定義控制元件,支援動畫~

一直對微信朋友圈九宮格圖片顯示控制元件比較好奇,找到一篇介紹相關騷操作的部落格 部落格雖好但是不夠完美,缺少點選圖片預覽頁面和縮放動畫,作為一個不斷追求完美主義的人,我想把這個控制元件結合到專案中而不是單純作為一個控制元件。 下面是我的實現效果圖: (

QT中給各控制元件增加背景圖片(可可旋轉)的幾種方法

1. 給QPushButton 增加背景圖片:背景圖片可根據Button大小自由縮放。 void setButtonBackImage(QPushButton *button,QString image,int sizeW, int sizeH) { //163

鼠標滾輪實現圖片-------Day79

auto 生活 lis asc alt easy opera play log 今天是7月的最後一天了,不得不說,我定下的七月份剩余幾天的計劃是完不成了。一則工作確實緊了些,再則沒能處理好生活、工作和學習的節奏。這才是人生最大的課題吧。只是也還好。至少自己還在堅持著。事

java處理圖片--圖片,旋轉和馬賽克化

add 大小 count fun ref translate markdown 文件 new 這是我自己結合網上的一些資料封裝的java圖片處理類,支持圖片的縮放,旋轉,馬賽克化。(轉載請註明出處:http://blog.csdn.net/u012116

QT中給各控件增加背景圖片(可可旋轉)的幾種方法

.net detail eight iou rotate art board 按鈕 previous 1. 給QPushButton 增加背景圖片:背景圖片可根據Button大小自由縮放。 [cpp] view plain copy vo

利用CSS3實現鼠標懸停在圖片圖片緩慢的兩種方法

class ansi clas form屬性 css transform 大小 方法 鼠標懸停 1.改變background-size屬性 將圖片作為某個html元素的背景圖片,用transition屬性改變圖片的大小。 1 .container{ 2 ba

圖片處理

gpo ram color format div files blog form body "c:\Program Files\ImageMagick-6.9.9-Q16\identify.exe" -format "%[fx:w]x%[fx:h]" 111.jpg

Android圖片處理--

div 大小 cep public date() andro file .get loader PS:在開發中我們會遇到一些圖片處理問題,比如說緩存圖片了、限制圖片大小了、查看圖片了等。上一篇文章介紹了圖片的全景效果查看,今天介紹一個圖片縮放,我們如果有時間的話,可以自己寫

css實現鼠標懸停在圖片圖片緩慢效果

-c ack span orm 效果 border pan 鼠標懸停 round 方法一: .container{   background-size: 100% 100%;   transition: all 2s; } .container:hover{  

OpenCV——圖像金字塔和圖片尺寸

圖像 image —圖 圖像金字塔 技術 http bubuko .com ima OpenCV——圖像金字塔和圖片尺寸縮放

canvas實現圖片旋轉

canvas實現圖片旋轉,用到的基本函式: rotate()實現旋轉; scale(X,Y)實現縮放,X代表水平縮放,Y代表垂直縮放; translate(X,Y)為畫布的變換矩陣新增水平的和垂直的偏移; 基本思路:用rotate()方法實現圖片旋轉,用scale()實現縮放。

iOS開發圖片加標題滾動控制元件封裝

說明 · 使用UICollectionView實現,封裝在 HorizontalSlipMenuView 中,使用時只要例項化 HorizontalSlipMenuView 並設定資料來源後,新增到父檢視上即可 Demo地址:https://github.com/liujunwei

在小程式中對圖片進行時發生的問題記錄

在做一個小程式時,需要實現不規則的熱點,分別用於實現各自的點選事件。 1、第一種做法:在圖片載入完成後,計算實際縮放比例,然後重新計算每個熱區的尺寸和位置。 <view class="rmq_bg"> <image src="../../asset/img/main_bg.j

PHP圖片加水印文字及圖片合成

<?php //圖片新增文字水印 /*$bigImgPath = 'background.png'; $img = imagecreatefromstring(file_get_contents($bigImgPath)); $font = 'MSYH.TTF';//字型,字型檔案需儲存到相應