一个基于 Glide 开发易用的 Android 图片加载组件。
- ✅ 支持网络图片加载
- ✅ 支持本地资源加载
- ✅ 支持 GIF 动画
- ✅ 支持圆形图片
- ✅ 支持圆角图片
- ✅ 支持占位图和错误图
- ✅ 支持缓存策略配置
- ✅ 支持网络超时配置
- ✅ 支持 GIF 动画控制
| 配置项 | 说明 |
|---|---|
srcUrl |
网络图片 URL |
srcResId |
本地资源 ID |
placeholder |
占位图资源 ID |
errorImage |
错误图资源 ID |
roundAsCircle |
是否显示为圆形图片 |
cornerRadius |
圆角半径(单位:像素) |
skipMemoryCache |
是否跳过内存缓存 |
skipDiskCache |
是否跳过磁盘缓存 |
gifEnable |
是否启用 GIF 动画 |
netTimeout |
网络超时时间(单位:毫秒) |
dependencies {
implementation 'io.github.xesam:android-imageview2:0.0.1'
// 确保项目中已添加 Glide 依赖
implementation 'com.github.bumptech.glide:glide:4.16.0'
}<io.github.xesam.android.image2.ImageView2
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:src2="https://example.com/image.jpg"
app:placeholder="@drawable/placeholder"
app:error_image="@drawable/error"
app:round_as_circle="false"
app:corner_radius="10dp"
app:skip_memory_cache="false"
app:skip_disk_cache="false"
app:gif_enable="true"
app:net_timeout="30000" />// 基本用法
ImageView2 imageView2 = findViewById(R.id.image_view2);
imageView2.setSrcUrl("https://example.com/image.jpg");
// 配置圆形图片
imageView2.setRoundAsCircle(true);
// 配置圆角图片
imageView2.setRoundRadius(10);
// 配置 GIF 动画
imageView2.setGifEnable(true);
// 配置缓存策略
imageView2.setSkipMemoryCache(false);
imageView2.setSkipDiskCache(false);
// 配置网络超时
imageView2.setNetTimeout(30000);
// 设置加载监听器
imageView2.setImageLoadListener(new Image2ApiView.ImageLoadListener() {
@Override
public void onLoadStarted() {
// 加载开始
}
@Override
public void onLoadSucceeded() {
// 加载成功
}
@Override
public void onLoadFailed(Exception e) {
// 加载失败
}
});-
确保在 AndroidManifest.xml 中添加网络权限:
<uses-permission android:name="android.permission.INTERNET" />
-
本库基于 Glide 4.16.0 开发,确保项目中已添加 Glide 依赖
-
对于 RecyclerView 等列表控件,建议在 ViewHolder 回收时调用
cancelImageLoading()方法,避免内存泄漏:@Override public void onViewRecycled(@NonNull ViewHolder holder) { super.onViewRecycled(holder); holder.imageView.cancelImageLoading(); }
-
GIF 动画默认关闭,需要显式设置
gif_enable="true"或调用setGifEnable(true)启用
Apache License 2.0
