Android如何动态的使用网图做背景(Glide的使用)

现在我要用一个网图做ConstraintLayout背景

ConstraintLayout如下

<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/index_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@mipmap/bgc"
    >
</androidx.constraintlayout.widget.ConstraintLayout>

第一步,引入依赖

implementation 'com.github.bumptech.glide:glide:4.12.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'

第二步,封装一个小方法

public class SetBg {
    public static void settBackground(Activity activity, String imageUrl){
        RequestOptions requestOptions = new RequestOptions().centerCrop();
        ConstraintLayout constraintLayout = activity.findViewById(R.id.index_main);
        Glide.with(activity)
                .load(imageUrl)
                .apply(requestOptions)
                .into(new CustomTarget<Drawable>(){

                    @Override
                    public void onResourceReady(@NonNull Drawable resource, @Nullable Transition<? super Drawable> transition) {
                        constraintLayout.setBackground(resource);
                    }

                    @Override
                    public void onLoadCleared(@Nullable Drawable placeholder) {
                        // 当图像加载被清除时的处理
                    }
                });

    }
}

第三步,使用

SetBg.settBackground(this,"https://xxx.com/xxx.jpg");

附(原文 百度安全验证):

Glide 是一个快速高效的 Android 图像加载库。它旨在处理在您的应用程序中加载和显示图像所涉及的所有复杂性,因此您不必这样做。在本文中,我们将深入了解 Glide 是什么、它是如何工作的,以及为什么您应该考虑在您的下一个 Android 项目中使用它。

什么是滑翔?

Glide 是一个用于在 Android 中加载和显示图像的开源库。它由 Bump Technologies 的团队创建,现在由 Google 维护。Glide 旨在处理在您的应用程序中加载和显示图像的所有复杂性,因此您不必这样做。无论您是从网络、本地文件还是资源加载图片,Glide 都能在您需要时轻松获取您需要的图片。

Glide 是如何工作的?

Glide 通过结合使用内存缓存、磁盘缓存和网络加载来高效、流畅地在您的应用程序中加载图像。当您使用 Glide 请求图像时,该库首先检查其内存缓存以查看它是否已经加载。如果是,Glide 会立即返回图像,而不会从网络或磁盘加载它。

如果图像不在内存缓存中,Glide 接下来会检查它的磁盘缓存。如果在磁盘上找到图像,Glide 将其加载到内存中并返回。如果图像不在磁盘缓存中,Glide 会从网络加载它。

一旦图像被加载,Glide 将它缓存在内存和磁盘中,所以下次你请求相同的图像时,它可以更快地加载。

为什么要使用 Glide?

您应该考虑在下一个 Android 项目中使用 Glide 的原因有以下几个:

  1. 速度:Glide 旨在快速高效。它结合了内存缓存、磁盘缓存和网络加载,以确保即使在速度较慢的设备上也能快速流畅地加载图像。
  2. 简单性:Glide 易于使用。只需几行代码,您就可以加载和显示来自各种来源的图像,包括网络、本地文件和资源。
  3. 灵活性:Glide 提供了广泛的选项和功能,因此您可以自定义图像的加载和显示方式以满足您的特定需求。
  4. 社区:Glide 是一个开源项目,拥有庞大而活跃的贡献者社区。如果您需要帮助或想为该项目做出贡献,您可以在线找到丰富的资源和支持。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值