📷 一个支持 超大图 / 超长图 / GIF / 视频 的轻量级预览库
- 支持 超大图 / 超长图 / GIF / 视频
- 支持 双指缩放 / 平移 / 左右滑动切换
- 支持 原图查看 / 下载 / 加载进度监听
- 支持 数据源动态更新与删除
- 采用 区块复用加载,有效降低内存占用并减少 OOM 风险
当前版本:
androidx-9.2.0
在你的项目仓库配置中确保包含 mavenCentral()。
BigImageViewPager 已拆分为核心库与可选视频插件:
- 核心库(必选):
com.gouqinglin:BigImageViewPager - 视频插件(可选):
com.gouqinglin:BigImageViewPager-media3
dependencies {
// 必选:核心库(图片能力)
implementation "com.gouqinglin:BigImageViewPager:androidx-9.2.0"
// 可选:视频插件(需要视频预览时添加)
implementation "com.gouqinglin:BigImageViewPager-media3:androidx-9.2.0"
// 必选:Glide
def glideVersion = "4.16.0"
implementation "com.github.bumptech.glide:glide:$glideVersion"
annotationProcessor "com.github.bumptech.glide:compiler:$glideVersion"
implementation "com.github.bumptech.glide:okhttp3-integration:$glideVersion"
}源码方式接入(本仓库本地调试):
// implementation(project(":library"))
// implementation(project(":library-video-media3"))@GlideModule
public class MyAppGlideModule extends AppGlideModule {
@Override
public void registerComponents(@NonNull Context context, @NonNull Glide glide, @NonNull Registry registry) {
super.registerComponents(context, glide, registry);
registry.replace(
GlideUrl.class,
InputStream.class,
new OkHttpUrlLoader.Factory(ProgressManager.getOkHttpClient())
);
}
}
注意:如果不配置,原图加载进度可能长期停在 1%。
ImagePreview.getInstance().setContext(MainActivity.this).setMediaInfoList(imageInfoList).start();
更多参数配置见:doc/DETAIL.md
androidx-9.2.0 起,视频能力从核心库中解耦为可选插件:
BigImageViewPager:核心图片能力BigImageViewPager-media3:基于 Media3 的视频能力
迁移建议:
- 仅图片预览:保留
BigImageViewPager即可 - 需要视频预览:额外添加
BigImageViewPager-media3
发布建议(源码仓库维护者):
- 核心库 artifactId:
BigImageViewPager - 视频插件 artifactId:
BigImageViewPager-media3 - 两个 artifact 保持相同版本号发布
- 未引入
BigImageViewPager-media3:视频条目自动降级为“视频能力不可用”提示,不影响图片预览。 - 引入
BigImageViewPager-media3:视频能力自动启用,无需额外初始化。 - 关闭预览页时会释放视频运行时资源;再次进入会自动重建缓存和播放器会话。
androidx-9.2.0:ExoPlayer (Media3) 改为可选依赖,仅图片场景可减少 APK 体积androidx-8.4.7:支持 32 位 16KB page size 特性androidx-8.4.6:新增支持res资源androidx-8.4.5:新增自定义请求头功能androidx-8.4.4:修复本地视频加载问题
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
1-original.mp4 |
2-swipe.mp4 |
3-drag-close.mp4 |
![]() |
![]() |
- Powered by DartNode - Free VPS for Open Source
Copyright (C) 2018 SherlockGougou
Licensed under the Apache License, Version 2.0
http://www.apache.org/licenses/LICENSE-2.0









