Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
I

ImageWatcher

> 编程语言
Open source

一种无缝顺畅的动画切换到图片查看的界面,同样以一种无缝顺畅的动画退出图片查看界面 *支持多图查看,快速翻页,双击放大,单击退出,双手缩放旋转图片 *下拽退出查看图片的操作,以及效果是本View的最大卖点(仿微信)

374 stars0 likes0 views
WebsiteGitHub

About

一种无缝顺畅的动画切换到图片查看的界面,同样以一种无缝顺畅的动画退出图片查看界面 *支持多图查看,快速翻页,双击放大,单击退出,双手缩放旋转图片 *下拽退出查看图片的操作,以及效果是本View的最大卖点(仿微信)

#ImageWatcher 图片查看器,为各位追求用户体验的daLao提供更优质的服务 它能够

*点击图片时以一种无缝顺畅的动画切换到图片查看的界面,同样以一种无缝顺畅的动画退出图片查看界面 *支持多图查看,快速翻页,双击放大,单击退出,双手缩放旋转图片 *下拽退出查看图片的操作,以及效果是本View的最大卖点(仿微信)

实现步骤

在module的gradle

    implementation 'com.byc:ImageWatcher:1.1.0'
    or 下载 module
    implementation project(':imagewatcher')

方法一

  • 在Activity对应布局文件

    

    
  • 然后在Activity onCreate里面简单的初始化一下
…

新的初始化方式二

…

由于一般图片查看会占据全屏 持有activity引用后 调用activity.getWindow().getDecorView()拿到根FrameLayout 即可动态插入ImageWatcher -> 使用 非入侵式 不再需要在布局文件中加入<ImageWatcher>标签 减少布局嵌套

这个时候你的所有准备工作已经完成

/**
 * @param i              被点击的ImageView
 * @param imageGroupList 被点击的ImageView的所在列表,加载图片时会提前展示列表中已经下载完成的thumb图片
 * @param urlList        被加载的图片url列表,数量必须大于等于 imageGroupList.size。 且顺序应当和imageGroupList保持一致
 */
 public void show(ImageView i, SparseArray imageGroupList, final List urlList) { ... }

最后只要调用 vImageWatcher.show() 方法就可以了

    //记得重写返回键哦
    @Override
    public void onBackPressed() {
//        //方式一
//        if (!vImageWatcher.handleBackPressed()) {
//            super.onBackPressed();
//        }
        //方式二
        if (!iwHelper.handleBackPressed()) {
            super.onBackPressed();
        }
    }
初始化API简介
name	                 description
setLoader	             图片地址加载的实现者
setTranslucentStatus	 当没有使用透明状态栏,传入状态栏的高度
setErrorImageRes	     图片加载失败时显示的样子
setOnPictureLongPressListener	长按回调
setIndexProvider	     自定义页码UI
setLoadingUIProvider	 自定义加载UI
setOnStateChangedListener	开始显示和退出显示时的回调

写在最后


Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Java

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言