使用ViewPager、PhotoView、rebound Android实现查看网格图片及动画效果的实现,滑动图片后图片可回退到对应位置。
具体效果,图片经过压缩,实际效果可安装apk查看
项目中使用的各个库地址:PhotoView、rebound Android 、DWCorePhoto_Android
实现思路:图片列表页面,获取点击位置View的大小以及在屏幕的位置,创建新的Activity,在新的Activity的相同位置创建大小相同的ImageView,然后实现过度动画,需要取消activity的转场动画。ViewPager滑动时,在onPagerSelected方法中计算ImageView对应图片列表页面的位置,由rebound Android实现过度动画。可以利用LruCache进行图片缓存,根据LruCache中是否已存在bitmap对象来选择不同的图片打开动画,实现类似微信朋友圈图片查看效果。
demo中使用了本地图片和Glide框架,并没有对缓存进行判断,统一图片打开动画,demo中保留图片从点击位置直接放大的动画,可根据需要做相应修改。