Android图片预览框架PhotoViewer
官网,官网使用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相关推荐
- android 图片预览动画,Android实现仿Windows7图片预览窗格效果
本实例将显示类似于windows7提供的图片预览窗格效果,单击任意一张图片,可以在右侧显示该图片的预览效果. 效果如图所示: 具体实现方法: res/layout/main.xml: android: ...
- android 图片预览动画,Android图片上传实现预览效果
首先具体分析一下,实现的功能,其中需求分析是必不可少的,需求.逻辑清除之后,再上手写代码,思路会很清晰. 1.多图上传首先得选择图片(这里项目需求是既可以拍照上传也可以从相册中选择) 2.拍照上传很简 ...
- Android 图片预览功能
哔哩哔哩地址: 视频去哪了呢?_哔哩哔哩_bilibili 依赖 implementation 'com.ycjiang:ImagePreview:2.3.5' 创建图片初始化类 TestImageL ...
- 一款Android图片预览的开源库,几乎百分百还原微信的图片预览。
图片预览组件PreviewPictureView gihub地址:https://github.com/OneZeroYang/PreviewPictureView 几乎还原微信的图片预览,核心使用共 ...
- Android 图片预览器加载微博长图,大图
通常图片预览的做法是ViewPager+PhotoView,但是遇到很长的图(比如微博长图),在设置 android:scaleType="centerCrop" 这个属性的前提下 ...
- Android 手势检测实战 打造支持缩放平移的图片预览效果(下)
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/39480503,本文出自:[张鸿洋的博客] 上一篇已经带大家实现了自由的放大缩小图 ...
- android 九宫格图片选择(微信朋友圈) 图片预览 (底部recycleview 不卡顿)
最近做一个功能 就是仿照微信选择图片,图片预览,图片删除的功能 主要涉及以下知识点: 1 在图片预览的页面可以来回滑动,当前图片是选中的就背景变蓝.点击底部切换上半部分的选择.上半部分选择切换底部的选 ...
- flutter图片预览_flutter好用的轮子推荐四-可定制的图片预览查看器photo
前言 Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面. IT界著名的尼古拉斯·高尔包曾说:轮子是IT进步的阶梯!热门的框架千篇一律,好用轮子万里挑一!F ...
- flutter图片预览_flutter好用的轮子推荐四-可定制的图片预览查看器photo_view
前言 Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面. IT界著名的尼古拉斯·高尔包曾说:轮子是IT进步的阶梯!热门的框架千篇一律,好用轮子万里挑一!F ...
最新文章
- 关于E1的一些扫盲资料
- 用Python和OpenCV提取颜色直方图特征
- 15、【 商品管理模块开发】——后台获取商品详情功能开发及PropertiesUtil配置工具,DateTimeUtil时间处理工具开发...
- FFmpeg 5.0 正式发布
- stl取出字符串中的字符_在C ++ STL中使用比较运算符比较两个字符串
- Java Web学习总结(23)——Distributed Configuration Management Platform(分布式配置管理平台)
- CCF201403-1 相反数(解法二)(100分)(废除!!!)
- JDBC连接池原理及分析
- 【基础】PNP三极管导通条件____很具代表性
- 远程桌面连接 mac to linux,3种远程连接到你的mac桌面的方法
- Javascript运行环境
- 北京上海楼市有价无市局面愈演愈烈
- 毛永胜计算机教师,中等职业学校网络计算机技术与应用
- SpringBoot 集成 MongoDB 磁盘分页查询导致的坑,allowDiskUse 基本配置
- 推荐这三款软件让你实现图片去雾化?
- 【basler】Chapter3:basler相机出现斜黑条纹
- 智慧物流园区供应链系统解决方案:赋能物流运输行业供应链新模式
- where 1=1 是什么意思
- css:a:visited限制
- untiy 实时人像抠图