官网,官网使用Kotlin写的,刚开始没有找到Java版本的相关资料,简单解释一下
点击多张图片(类似微信朋友圈查看图片)官网

PhotoViewer.setData(图片链接List<String>).setCurrentPage(现在是哪页).setImgContainer(img的容器 rv/gv/lv).setShowImageViewInterface(object : PhotoViewer.ShowImageViewInterface {override fun show(iv: ImageView, url: String) {// 设置自己加载图片的框架来加载图片Glide.with(iv.context).load(url).into(iv)}}).setOnLongClickListener(object : OnLongClickListener{override fun onLongClick(view: View) {// 长按图片的逻辑}}).start(this)

Java版本使用

PhotoViewer.INSTANCE//设置图片数据.setData(imagesUris)//设置当前位置.setCurrentPage(index)//设置图片控件容器//他需要容器的目的是//显示缩放动画.setImgContainer(rv)//设置图片加载回调.setShowImageViewInterface((imageView, url) -> {//使用Glide显示图片Glide.with(getMainActivity()).load(url).into(imageView);})//启动界面.start(this);

只点击一张图片时(类似点击查看头像)

PhotoViewer.setClickSingleImg(url, iv)   //因为本框架不参与加载图片,所以还是要写回调方法.setShowImageViewInterface(object : PhotoViewer.ShowImageViewInterface {override fun show(iv: ImageView, url: String) {Glide.with(iv.context).load(url).into(iv)}}).start(this)

Java版本使用

PhotoViewer.INSTANCE.setClickSingleImg(imageUris,rv).setShowImageViewInterface((imageView, url) -> {//使用Glide显示图片Glide.with(AuditInvoiceDetailActivity.this).load(imageUris).into(imageView);}).start(this);

添加依赖

//类似微信图片预览框架
//https://github.com/wanglu1209/PhotoViewer
implementation 'com.github.wanglu1209:PhotoViewer:0.50'

PhotoViewer流程比较多,简单介绍下在单层RecyclerView中使用
自定义监听

/*** 动态监听器*/
public interface ImageListener {/*** 点击了动态图片回调** @param rv* @param imageUris* @param index*/void onImageClick(ImageView rv, String imageUris);
}

设置监听

/*** 图片适配器*/
public class ImageCAdapter extends BaseQuickAdapter<String, BaseViewHolder> {/*** 动态监听器*/private final ImageListener imageListener;/*** 构造方法** @param layoutResId*/public ImageCAdapter(int layoutResId,ImageListener imageListener) {super(layoutResId);this.imageListener=imageListener;}/*** 绑定数据** @param helper* @param data*/@Overrideprotected void convert(@NonNull BaseViewHolder helper, String data) {//找图片控件ImageView iv_banner = helper.getView(R.id.iv_banner);iv_banner.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {imageListener.onImageClick(iv_banner,data);}});//显示图片ImageUtil.show(mContext, iv_banner, data);}
}

回调处理

@Overridepublic void onImageClick(ImageView rv, String imageUris) {PhotoViewer.INSTANCE.setClickSingleImg(imageUris,rv).setShowImageViewInterface((imageView, url) -> {//使用Glide显示图片Glide.with(AuditInvoiceDetailActivity.this).load(imageUris).into(imageView);}).start(this);}

预览单张图片
自定义监听和之前的一样

/*** 动态监听器*/
public interface ImageListener {/*** 点击了动态图片回调** @param rv* @param imageUris* @param index*/void onImageClick(ImageView rv, String imageUris);
}

Activity中创建ImageListener

ImageListener imageListener;

实例化对象

imageListener=this;

设置监听
iv是ImageView控件,第二个变量是图片地址

iv.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {imageListener.onImageClick(iv,"");}});

回调处理

@Overridepublic void onImageClick(ImageView rv, String imageUris, int index) {PhotoViewer.INSTANCE.setClickSingleImg(imageUris,rv).setShowImageViewInterface((imageView, url) -> {//使用Glide显示图片Glide.with(QuestionMarkActivity.this).load(imageUris).into(imageView);}).start(this);}

Android图片预览框架PhotoViewer相关推荐

  1. android 图片预览动画,Android实现仿Windows7图片预览窗格效果

    本实例将显示类似于windows7提供的图片预览窗格效果,单击任意一张图片,可以在右侧显示该图片的预览效果. 效果如图所示: 具体实现方法: res/layout/main.xml: android: ...

  2. android 图片预览动画,Android图片上传实现预览效果

    首先具体分析一下,实现的功能,其中需求分析是必不可少的,需求.逻辑清除之后,再上手写代码,思路会很清晰. 1.多图上传首先得选择图片(这里项目需求是既可以拍照上传也可以从相册中选择) 2.拍照上传很简 ...

  3. Android 图片预览功能

    哔哩哔哩地址: 视频去哪了呢?_哔哩哔哩_bilibili 依赖 implementation 'com.ycjiang:ImagePreview:2.3.5' 创建图片初始化类 TestImageL ...

  4. 一款Android图片预览的开源库,几乎百分百还原微信的图片预览。

    图片预览组件PreviewPictureView gihub地址:https://github.com/OneZeroYang/PreviewPictureView 几乎还原微信的图片预览,核心使用共 ...

  5. Android 图片预览器加载微博长图,大图

    通常图片预览的做法是ViewPager+PhotoView,但是遇到很长的图(比如微博长图),在设置 android:scaleType="centerCrop" 这个属性的前提下 ...

  6. Android 手势检测实战 打造支持缩放平移的图片预览效果(下)

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/39480503,本文出自:[张鸿洋的博客] 上一篇已经带大家实现了自由的放大缩小图 ...

  7. android 九宫格图片选择(微信朋友圈) 图片预览 (底部recycleview 不卡顿)

    最近做一个功能 就是仿照微信选择图片,图片预览,图片删除的功能 主要涉及以下知识点: 1 在图片预览的页面可以来回滑动,当前图片是选中的就背景变蓝.点击底部切换上半部分的选择.上半部分选择切换底部的选 ...

  8. flutter图片预览_flutter好用的轮子推荐四-可定制的图片预览查看器photo

    前言 Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面. IT界著名的尼古拉斯·高尔包曾说:轮子是IT进步的阶梯!热门的框架千篇一律,好用轮子万里挑一!F ...

  9. flutter图片预览_flutter好用的轮子推荐四-可定制的图片预览查看器photo_view

    前言 Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面. IT界著名的尼古拉斯·高尔包曾说:轮子是IT进步的阶梯!热门的框架千篇一律,好用轮子万里挑一!F ...

最新文章

  1. 关于E1的一些扫盲资料
  2. 用Python和OpenCV提取颜色直方图特征
  3. 15、【 商品管理模块开发】——后台获取商品详情功能开发及PropertiesUtil配置工具,DateTimeUtil时间处理工具开发...
  4. FFmpeg 5.0 正式发布
  5. stl取出字符串中的字符_在C ++ STL中使用比较运算符比较两个字符串
  6. Java Web学习总结(23)——Distributed Configuration Management Platform(分布式配置管理平台)
  7. CCF201403-1 相反数(解法二)(100分)(废除!!!)
  8. JDBC连接池原理及分析
  9. 【基础】PNP三极管导通条件____很具代表性
  10. 远程桌面连接 mac to linux,3种远程连接到你的mac桌面的方法
  11. Javascript运行环境
  12. 北京上海楼市有价无市局面愈演愈烈
  13. 毛永胜计算机教师,中等职业学校网络计算机技术与应用
  14. SpringBoot 集成 MongoDB 磁盘分页查询导致的坑,allowDiskUse 基本配置
  15. 推荐这三款软件让你实现图片去雾化?
  16. 【basler】Chapter3:basler相机出现斜黑条纹
  17. 智慧物流园区供应链系统解决方案:赋能物流运输行业供应链新模式
  18. where 1=1 是什么意思
  19. css:a:visited限制
  20. untiy 实时人像抠图

热门文章

  1. 从万得下载A股数据保存到mongodb
  2. 商业虚拟专用网络技术六IPSec配置
  3. 基于捕捉漂移布谷鸟搜索算法的函数寻优算法
  4. 获取今天的日期(年月日时分秒)、获取今天昨天明天的日期
  5. 分享一个有趣的关机或重启代码
  6. 浪潮服务器进u盘硬盘没有初始化,出现驱动器 H 中的磁盘未被初始化.想现在初始化吗?要怎么修护U盘啊...
  7. 关于flash安装失败的解决办法
  8. 下狠招解除WinXP中IE被劫持的方法
  9. 最简单日柱推算法_如何学习吉他?史前从未有过的最简单的讲故事学习法
  10. OpenGL学习入门之3D光照机器人