压缩包
GlideDemo.zip
一、Glide的引入
Glide是一个快速高效的Android图片加载库,可以自动加载网络、本地文件,app资源中的图片,注重于平滑的滚动。
引入Glide:
implementation 'com.github.bumptech.glide:glide:4.11.0'<br /> annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
基本使用:
Glide.with([fragment/Context/View])<br /> .load(url)<br /> .into(imageView);
二、实现步骤:
1.添加图片
2.绑定控件,加载图片资源
3.在清单文件中添加权限
三、整体代码:
<?xml version="1.0" encoding="utf-8"?><LinearLayout 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:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <ImageView android:layout_width="80dp" android:layout_height="80dp" android:id="@+id/iv"/></LinearLayout>
2.MainActivity文件代码
package com.example.glidedemo;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.ImageView;import com.bumptech.glide.Glide;public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ImageView iv = findViewById(R.id.iv); Glide.with(this) .load("https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fcuimg.zuyushop.com%3A8013%2FcuxiaoPic%2F20153%2F2015030010262399424.png&refer=http%3A%2F%2Fcuimg.zuyushop.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1627308625&t=aa84e065943c825f8cbf94fc0beeea6e") .into(iv); }}
3.效果图:
四、Glide占位符
Glide4中占位图的使用方法,包括(placeholder,error,fallback)三种占位图
1.placeholder 正在请求图片的时候展示的图片
2.error 如果请求失败的时候展示的图片(如果没有设置,还是展示placeholder的占位符)
3.fallback 如果请求的url/model为null的时候展示的图片(如果没有设置,还是展示placeholder的占位符)
RequestOptions requestOptions=new RequestOptions()<br /> .placeholder(R.drawable.hold)<br /> .error(R.drawable.error)<br /> .fallback(R.drawable.fallback)<br /> .override(100,100); // override指定加载图片大小<br /> Glide.with([fragment/Context/View])<br /> .load(url)<br /> .apply(requestOptions)<br /> .into(imageView);
五、实现步骤:
1.添加RequestOptions实例,添加apply,将实例放入
六、整体代码:
1.MainActivity文件代码
package com.example.glidedemo;import androidx.appcompat.app.AppCompatActivity;import android.app.VoiceInteractor;import android.os.Bundle;import android.view.View;import android.widget.ImageView;import com.bumptech.glide.Glide;import com.bumptech.glide.request.RequestOptions;public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ImageView iv = findViewById(R.id.iv); RequestOptions requestOptions = new RequestOptions() .placeholder(R.drawable.hold) .error(R.drawable.error) .fallback(R.drawable.empty) .override(100, 100); Glide.with(this) .load("https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fcuimg.zuyushop.com%3A8013%2FcuxiaoPic%2F20153%2F2015030010262399424.png&refer=http%3A%2F%2Fcuimg.zuyushop.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1627308625&t=aa84e065943c825f8cbf94fc0beeea6e") .apply(requestOptions) .into(iv); }}
2.效果图:
(1)加载占位符的图片<br /><br /> (2)加载错误的图片<br />