通常图片预览的做法是ViewPager+PhotoView,但是遇到很长的图(比如微博长图),在设置
android:scaleType="centerCrop"
这个属性的前提下
用ImageLoader 加载会比较模糊(应该是压缩的比较厉害),不设置这个属性,长图不能放大。用Glide加载,虽然就能清楚加载,但是不能滑动。那怎么办呢?
好在GitHub上又大神给我提供了subsampling-scale-image-view,上面介绍了基本用法,这个View能很好的加载长图的问题,在配合Glide的使用,完美的展现一个高效的图片预览,首先添加依赖:
compile 'com.github.bumptech.glide:glide:3.6.1'
compile 'com.davemorrissey.labs:subsampling-scale-image-view:3.5.0'
创建一个包含此View的布局:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="#ff000000">
<uk.co.senab.photoview.PhotoView
android:id="@+id/zoom_image_view"
android:layout_width="match_parent"
android:scaleType="centerCrop"
android:visibility="gone"
android:layout_heigh