一、简介
属于你的侵入性低的大图查看器,高仿微信、微博等完美的过渡动画,同样支持视频,另外您可以自定义加载图片的内核,例如Glide,Picasso或其他的
github地址:https://github.com/FlyJingFish/OpenImage
GitHub - FlyJingFish/OpenImage: 🔥🔥🔥查看大图、图片浏览,支持拖动图片手势返回,支持视频,支持大图,支持聊天页面查看大图功能,支持自定义图片加载库
APK下载:点此下载apk
二、特色功能
1,支持自定义图片加载引擎
2,支持多种图片缓存模式
3,支持聊天界面的查看大图功能
4,支持微信聊天页面大图不在聊天页面时回到点击位置的效果
5,支持全部 ImageView.ScaleType 显示模式的图片打开大图效果,并且新增startCrop、endCrop、autoStartCenterCrop、autoEndCenterCrop四种显示模式
6,支持图片和视频混合数据
7,支持传入包含图片的 RecyclerView、ViewPager、ViewPager2、ListView、GridView 和 多个ImageView 的调用方式,傻瓜式调用,无需关心图片切换后该返回到哪个位置
8,支持大图和大图阅读模式
9,支持自定义大图切换效果(PageTransformer)
三、效果演示
1,支持功能Demo一览
2,支持聊天页面
3,同样支持视频
4,RecyclerView常见使用场景
四、使用步骤(简单两步傻瓜式使用)
1,你的数据需要实现 OpenImageUrl 接口
public class ImageEntity implements OpenImageUrl {
public String url;
public ImageEntity(String url) {
this.url = url;
}
public ImageEntity() {
}
@Override
public String getImageUrl() {
return url;//大图链接(或视频的封面大图链接)
}
@Override
public String getVideoUrl() {
return null;//视频链接
}
@Override
public String getCoverImageUrl() {
return url;//封面小图链接(或视频的封面小图链接)
}
@Override
public MediaType getType() {
return MediaType.IMAGE;//数据是图片还是视频
}
}
2,在页面调用
//在点击时调用(以下以RecyclerView为例介绍)
OpenImage.with(activity)
//点击ImageView所在的RecyclerView(也支持设置setClickViewPager2,setClickViewPager,setClickGridView,setClickListView,setClickImageView)
.setClickRecyclerView(recyclerView,new SourceImageViewIdGet() {
@Override
public int getImageViewId(OpenImageUrl data, int position) {
return R.id.iv_image;//点击的ImageView的Id
}
})
//点击的ImageView的ScaleType类型(如果设置不对,打开的动画效果将是错误的)
.setSrcImageViewScaleType(ImageView.ScaleType.CENTER_CROP,true)
//RecyclerView的数据
.setImageUrlList(datas)
//点击的ImageView所在数据的位置
.setClickPosition(position)
//开始展示大图
.show();
五、更多使用方法详看Github,欢迎使用,欢迎Star👍👍👍
https://github.com/FlyJingFish/OpenImage
详细使用文档快捷地址