Skip to content

Repository files navigation

Android-ImageView2

一个基于 Glide 开发易用的 Android 图片加载组件。

核心功能

  • ✅ 支持网络图片加载
  • ✅ 支持本地资源加载
  • ✅ 支持 GIF 动画
  • ✅ 支持圆形图片
  • ✅ 支持圆角图片
  • ✅ 支持占位图和错误图
  • ✅ 支持缓存策略配置
  • ✅ 支持网络超时配置
  • ✅ 支持 GIF 动画控制

配置选项

配置项 说明
srcUrl 网络图片 URL
srcResId 本地资源 ID
placeholder 占位图资源 ID
errorImage 错误图资源 ID
roundAsCircle 是否显示为圆形图片
cornerRadius 圆角半径(单位:像素)
skipMemoryCache 是否跳过内存缓存
skipDiskCache 是否跳过磁盘缓存
gifEnable 是否启用 GIF 动画
netTimeout 网络超时时间(单位:毫秒)

./example.jpg

引用方式

Gradle 依赖

dependencies {
    implementation 'io.github.xesam:android-imageview2:0.0.1'
    // 确保项目中已添加 Glide 依赖
    implementation 'com.github.bumptech.glide:glide:4.16.0'
}

使用示例

XML 配置

<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) {
        // 加载失败
    }
});

注意事项

  1. 确保在 AndroidManifest.xml 中添加网络权限:

    <uses-permission android:name="android.permission.INTERNET" />
  2. 本库基于 Glide 4.16.0 开发,确保项目中已添加 Glide 依赖

  3. 对于 RecyclerView 等列表控件,建议在 ViewHolder 回收时调用 cancelImageLoading() 方法,避免内存泄漏:

    @Override
    public void onViewRecycled(@NonNull ViewHolder holder) {
        super.onViewRecycled(holder);
        holder.imageView.cancelImageLoading();
    }
  4. GIF 动画默认关闭,需要显式设置 gif_enable="true" 或调用 setGifEnable(true) 启用

许可证

Apache License 2.0

项目地址

https://github.com/xesam/Android-ImageView2

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages