Glide 的简单使用

1.添加依赖和加入网络

implementation 'com.github.bumptech.glide:glide:4.12.0'
<uses-permission android:name="android.permission.INTERNET"/>

 2.简单使用

       
        Uri uri = Uri.parse("https://profile.csdnimg.cn/C/A/6/1_g984160547");
        String uri = "https://profile.csdnimg.cn/C/A/6/1_g984160547";
        //上面两种写法效果相同
        Glide.with(this).load(uri).into(image);

        //应用资源
        Glide.with(this).load(R.mipmap.image_1).into(image);

        //画圆
        Glide.with(this).load(uri).circleCrop().into(image);

        //增加占位符和加载失败显示图片
        Glide.with(this).load(uri)
                .placeholder(R.mipmap.image_1)
                .error(R.mipmap.image_2)
                .into(image);

    }
  • with 传入的可以是当前上下文的对象。
  • load 加载图片,图片可以是本地图片,应用资源的图片也可以是一张网络图片。
  • placeholder 占位符是在请求正在进行时,显示的图片。
  • error 当请求永久失败时,会显示设置图片。
  • into 传入要展示图片的控件。
  • transform 用来完成剪裁(切圆)或对位图应用过滤器,但它也可以用于转换GIF动画,甚至自定义的资源类型

 

### Glide库的使用方法 #### 什么是GlideGlide是一个专注于快速高效加载图片的Android开源库。它支持多种数据源,包括本地文件、网络URL以及资源ID等,并提供了灵活的API来满足开发者对于图像处理的各种需求[^1]。 #### 添加依赖 要在项目中集成Glide,首先需要在`build.gradle`文件里加入相应的Maven仓库和依赖项声明: ```gradle dependencies { implementation 'com.github.bumptech.glide:glide:4.x' annotationProcessor 'com.github.bumptech.glide:compiler:4.x' // 如果使用Kotlin则替换为kapt } ``` 注意:这里的`4.x`应替换成具体的版本号,比如最新的稳定版可能是`4.12.0`或其他更新版本。 当应用经过混淆工具(如ProGuard或DexGuard)处理时,为了防止某些类被错误移除或者重命名影响功能正常运作,需额外配置保留特定元数据的信息: ```proguard -keep public class * implements com.bumptech.glide.module.GlideModule -keepresourcexmlelements manifest/application/meta-data@value=GlideModule ``` 以上设置确保即使应用程序被打包优化也不会丢失必要的初始化逻辑。 #### 基本用法示例 下面展示了一个简单的例子说明如何利用Glide加载一张远程图片到ImageView控件当中去: ```java import com.bumptech.glide.request.target.ImageViewTarget; // 加载指定url路径下的图片并显示于image_view对象之上 Glide.with(context) .load(imageUrl) .into(imageView); ``` 此代码片段展示了最基本的调用方式——只需要提供上下文环境(`context`)、目标视图组件(`imageView`)还有待获取的数据位置(`imageUrl`)即可完成整个流程。 另外还可以自定义转换效果,例如圆形裁剪头像之类的操作可以通过第三方插件辅助实现,推荐尝试`glide-transformations`这个扩展库[^2]: ```xml <dependency> <groupId>jp.wasabeef</groupId> <artifactId>glide-transformations</artifactId> <version>LATEST_VERSION</version> </dependency> ``` 之后就可以很方便地应用于实际场景之中了: ```java GlideApp.with(context) .load(url) .transform(new CropCircleWithBorderTransformation(5, Color.WHITE)) .into(imageView); ``` 这里我们引入了一种带边框圆角变换的效果作为演示案例[^2]。 尽管如此,在现代开发趋势下也有其他替代方案可供考虑,例如Coil就是一种新兴的选择,尤其适合Jetpack Compose框架使用者[^3]。 #### 调试模式注意事项 有时候出于性能考量或是减少APK体积的目的,可能会把一些占位符素材单独存放在debug目录结构底下;这样的话正式发布的构建就不会包含这些临时性的图形资产了[^4]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值