PhotoView 是一個開源函式庫,主要提供圖片縮放處理,預設已提供兩指縮放,雙擊放大等等基本的手勢功能。
因此若需求相當簡單,可以考慮使用該函式庫來快速完成功能。
GitHub : https://github.com/chrisbanes/PhotoView
相關的相依性以及初始化可以參考官方github。
以下紀錄基本的使用方式:
1. Dependency
1-1.在 project module 的 build.gradle 加入
allprojects { repositories { maven { url "https://jitpack.io" } } }
1-2.在 module module 的 build.gradle 加入
dependencies { implementation 'com.github.chrisbanes:PhotoView:latest.release.here' }
2. declare in xml
<com.github.chrisbanes.photoview.PhotoView android:id="@+id/photo_view" android:layout_width="match_parent" android:layout_height="match_parent"/>
注意 com.github.chrisbanes.photoview.PhotoView 命名必須完全相同
3. Using in code
3-1. init by resource id
PhotoView photoView = (PhotoView) findViewById(R.id.photo_view); photoView.setImageResource(R.drawable.image);
3-2. init by bitmap
String photoPath = PHOTO_FILE_PATH + "/" + photoIndex + ".jpg"; Bitmap bitmap = BitmapFactory.decodeFile(photoPath); PhotoView photoView = (PhotoView) findViewById(R.id.photo_view); photoView.setImageBitmap(bitmap);
4. 雙擊圖片或拖曳圖片即有縮放效果,完全不用加入任何控制的程式碼。