[Android开发] 实现点击小图查看大图的功能、图片浏览器,聊天页面、朋友圈、微博、广场页面的查看大图功能,浏览大图功能,大图三方框架,插件

一、简介

属于你的侵入性低的大图查看器,高仿微信、微博等完美的过渡动画,同样支持视频,另外您可以自定义加载图片的内核,例如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一览

功能Demo一览

2,支持聊天页面

聊天页面

3,同样支持视频

打开视频

4,RecyclerView常见使用场景

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

详细使用文档快捷地址

https://github.com/FlyJingFish/OpenImage/wiki

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容