记录发现一个超好用的图片浏览框架
BigImageViewPager 一个图片浏览器,支持超大图、超长图、支持手势放大、支持查看原图、下载、加载百分比进度显示。采用 davemorrissey 开源的 subsampling-scale-image-view 区块复用加载,优化内存占用,有效避免OOM。 原创:https://go.ctolib.com/article/wiki/85610
第一步:在gradle中配置
第二步:添加依赖
implementation 'com.github.SherlockGougou:BigImageViewPager:v1.1.1'// glide 4.x 请依赖这个
implementation 'com.github.SherlockGougou:BigImageViewPager:v3_1.0.0'// glide 3.x 请依赖这个
代码:
生成图片源:
ImageInfo imageInfo; final List<ImageInfo> imageInfoList = new ArrayList<>(); for(int i = 0; i < images.length; i++) { imageInfo = new ImageInfo(); imageInfo.setOriginUrl(images[i]);// 原图 imageInfo.setThumbnailUrl(images[i].concat("-1200"));// 缩略图,实际使用中,根据需求传入缩略图路径。如果没有缩略图url,可以将两项设置为一样,并隐藏查看原图按钮即可。 imageInfoList.add(imageInfo); imageInfo = null; }
调用:
ImagePreview .getInstance() .setContext(MainActivity.this) .setIndex(0)// 默认显示第几个 .setImageInfoList(imageInfoList)// 图片集合 .setShowDownButton(true)// 是否显示下载按钮 .setShowOriginButton(true)// 是否显示查看原图按钮 .setFolderName("TextImageViewPager")// 设置下载到的文件夹名(保存到根目录) .setScaleLevel(1, 3, 8)// 设置三级放大倍数,分别是最小、中等、最大倍数。 .setZoomTransitionDuration(500)// 设置缩放的动画时长 .start();// 开始跳转