037 Android Glide图片加载开源框架使用

1.Glide简单介绍

  Glide是一款由Bump Technologies开发的图片加载框架,使得我们可以在Android平台上以极度简单的方式加载和展示图片。Glide是一个快速高效的Android图片加载库,注重于平滑的滚动。Glide提供了易用的API,高性能、可扩展的图片解码管道(decode pipeline),以及自动的资源池技术。

  Glide 支持拉取,解码和展示视频快照,图片,和GIF动画。Glide的Api是如此的灵活,开发者甚至可以插入和替换成自己喜爱的任何网络栈。默认情况下,Glide使用的是一个定制化的基于HttpUrlConnection的栈,但同时也提供了与Google Volley和Square OkHttp快速集成的工具库。

2.Glide使用环境配置

(1)添加依赖

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

(2)添加网络权限

<uses-permission android:name="android.permission.INTERNET" />

3.Glide的简单使用案例

(1)xml页面布局

<?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"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <Button
        android:id="@+id/bt_pic_loader"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="加载图片" />

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp" />

    <ImageView
        android:id="@+id/iv_pic"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

</LinearLayout>

(2)java后台

package com.example.administrator.test67glide;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;

import com.bumptech.glide.Glide;

public class MainActivity extends AppCompatActivity {

    Button bt_pic_loader;
    ImageView imageView;
    ImageView iv_pic;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        bt_pic_loader=findViewById(R.id.bt_pic_loader);
        imageView=findViewById(R.id.imageView);
        iv_pic=findViewById(R.id.iv_pic);
        iv_pic.setImageResource(R.mipmap.news_pic_default);
        iv_pic.setScaleType(ImageView.ScaleType.FIT_XY); //设置图片的缩放方式,宽高填充父控件

        bt_pic_loader.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //利用Glide加载网络图片
                String url = "http://118.25.152.62:8080/zhbj/10007/1452327318UU91.jpg";
                Glide.with(getApplicationContext()).load(url).into(imageView);

            }
        });

    }
}

(3)效果图

 参考文献:https://www.jianshu.com/p/4f457a124d67

原文地址:https://www.cnblogs.com/luckyplj/p/10941936.html