📷 一个支持 超大图 / 超长图 / 动图 / 视频 的轻量级浏览器库
- 支持 超大图 / 超长图 / GIF / 视频
- 支持 手势缩放 / 滑动切换
- 支持 原图查看 / 下载 / 加载进度
- 支持 动态更新 / 删除数据源
- 区块复用加载 → 优化内存占用,有效避免 OOM
- 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
在 project/build.gradle 中加入:
allprojects {
repositories {
mavenCentral()
}
}dependencies {
// 必选:框架
implementation 'com.gouqinglin:BigImageViewPager:版本号'
// 必选: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"
// 必选:ExoPlayer (Media3)
def media3Version = "1.4.1"
implementation "androidx.media3:media3-exoplayer:$media3Version"
implementation "androidx.media3:media3-exoplayer-dash:$media3Version"
implementation "androidx.media3:media3-ui:$media3Version"
}
@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())
);
}
}
ImagePreview
.getInstance()
.setContext(MainActivity.this)
.setMediaInfoList(imageInfoList)
.start();
详细配置文档:详细文档。
- subsampling-scale-image-view —— 提供大图加载核心
- GlideImageView —— 进度监听实现参考
Copyright (C) 2018 SherlockGougou
Licensed under the Apache License, Version 2.0
http://www.apache.org/licenses/LICENSE-2.0










