登录

去注册 忘记密码?

登录

注册

去登录

  • 扫码关注公众号
  • 发送“我爱安卓
  • 即可获取验证码

注册

解锁回答区域

  • 扫码关注公众号
  • 发送“我爱安卓

若你登陆,将永久解锁;
若未登录,仅本机解锁。

解锁回答区域

获取注册验证码

  • 扫码关注公众号
  • 发送“我爱安卓
  • 即可获取验证码

仿微信、B站大图浏览、拖拽退出。

SusionSuc   2021-03-23 00:00   收藏

一款类似 微信/B站 的图片浏览组件, 主要具有以下特点:

  1. 类似共享元素的入场&退场动画(图片在入场时给人一种渐渐展开的效果)
  2. 拖拽&双击退出图片查看
  3. 支持缩放手势
  4. 支持查看长图
  5. 支持查看原图 & 下载原图
  6. 支持显示GIF & 可复用Glide的Bitmap内存缓存,避免OOM

快速使用

引入

dependencies {
    implementation 'com.susion:image-viewer:1.0.2'
}

展示一张图片:

ImageViewerHelper.showSimpleImage(context, url, imageView)

展示多张图片:

val imags = ArrayList<ImageViewerHelper.ImageInfo>()
imags.add(ImageViewerHelper.ImageInfo(url1))
imags.add(ImageViewerHelper.ImageInfo(url2))
ImageViewerHelper.showImages(this, listOf(mImagesIv1, mImagesIv2, mImagesIv3), imags, index)

缩略图的展示

支持优先展示缩略图,然后缓慢加载原图:

ImageViewerHelper.showSimpleImage(this, ImageViewerHelper.ImageInfo(thumbnailUrl, imgSize), imageView)

效果展示

gif1.gif
gif2.gif

实现原理分析

项目地址:https://github.com/SusionSuc/DraggableImageViewer