先看一下效果图,裁剪不好,最好下载apk到手机看看
1普通图,超大图。
2.超长图
1.项目使用GestureViews,如果你没有超长图(超过长度6000px就不行)就可以使用,并且支持gif动图
效果支持很多,旋转,缩放,拖拽,等都支持,可以去看看。
git 地址:https://github.com/alexvasilkov/GestureViews
2.那长度超过6000px,或者图片很大,例如世界地图,这要是使用上面的GestureViews肯定oom了。
那么我就找了微博长图控件 SubsamplingScaleImageView 来解决
demo里面超过6000px以上用SubsamplingScaleImageView加载图片(最大长度可以设置),但是就失去了旋转和拖拽效果,也失去进出场动画效果。
git 地址:https://github.com/davemorrissey/subsampling-scale-image-view
3.项目集成了长按下载图片,如果后缀是gif会下载成gif。可以看得到下载张数进度。也支持中途取消下载。
4.其他方案,使用5.0以上的共享元素转场动画,可以参考这位老兄的讲解
https://www.jianshu.com/p/340c938e9f32
5.使用方法
AllUtils.startImagePage((Activity) mContext, bean.getPics(), Arrays.asList(imageViews),position);
参考朋友圈跳转
demo项目git地址