现在我要用一个网图做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 的原因有以下几个:
- 速度:Glide 旨在快速高效。它结合了内存缓存、磁盘缓存和网络加载,以确保即使在速度较慢的设备上也能快速流畅地加载图像。
- 简单性:Glide 易于使用。只需几行代码,您就可以加载和显示来自各种来源的图像,包括网络、本地文件和资源。
- 灵活性:Glide 提供了广泛的选项和功能,因此您可以自定义图像的加载和显示方式以满足您的特定需求。
- 社区:Glide 是一个开源项目,拥有庞大而活跃的贡献者社区。如果您需要帮助或想为该项目做出贡献,您可以在线找到丰富的资源和支持。