欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Android图片加载框架Glide的简单用法

程序员文章站 2022-05-14 15:20:21
...

一、概述

Glide是一款由Bump Technologies开发的图片加载框架,可以在android平台上以很简单的方式加载和展示图片。

目前,Glide最新的稳定版本是3.7.0,这个版本的Glide相当成熟和稳定。


二、准备工作

android studio用户,在app/build.gradle文件当中添加如下依赖:

compile 'com.github.bumptech.glide:glide:3.7.0'

Eclipse用户,下载Glide的jar包链接:

http://download.csdn.net/download/sinyu890807/9781538

Glide需要用到网络功能,得在AndroidManifest.xml中声明一下网络权限:

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


三、使用方法

布局文件,在布局当中加入一个Button和一个ImageView,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="下载图片"
        android:onClick="onClick"/>
    <ImageView
        android:id="@+id/image"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</LinearLayout>

MainActivity中的代码

package com.example.glidetest;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import com.bumptech.glide.Glide;

public class MainActivity extends AppCompatActivity {
    private ImageView imageView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        imageView= (ImageView) findViewById(R.id.image);
    }
    public void onClick(View view){
        //url是你的图片链接
        String url="http://cn.bing.com/az/hprichbg/rb/Dongdaemun_ZH-CN10736487148_1920x1080.jpg";
        Glide.with(this).load(url).into(imageView);
    }
}

很简单的一行代码。运行一下程序,效果如下图所示:

点击下载图片后加载图片

Android图片加载框架Glide的简单用法

核心的代码就只有这一行:

Glide.with(this).load(url).into(imageView);


下面我们就来详细解释一下这行代码

调用Glide.with()方法用于创建一个加载图片的实例。with()方法可以接收Context、Activity或者Fragment类型的

参数。也就是说我们选择的范围非常广,不管是在Activity还是Fragment中调用with()方法,都可以直接传this。

那如果调用的地方既不在Activity中也不在Fragment中,也没关系,我们可以获取当前应用程序的

ApplicationContext,传入到with()方法当中。


load()方法用于指定待加载的图片资源。Glide支持加载各种各样的图片资源,包括网络图片、本地图片、

应用资源、二进制流、Uri对象等。

// 加载本地图片
File file = new File(getExternalCacheDir() + "/image.jpg");
Glide.with(this).load(file).into(imageView);

// 加载应用资源
int resource = R.drawable.image;
Glide.with(this).load(resource).into(imageView);

// 加载二进制流
byte[] image = getImageBytes();
Glide.with(this).load(image).into(imageView);

// 加载Uri对象
Uri imageUri = getImageUri();
Glide.with(this).load(imageUri).into(imageView);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

into()方法就很简单了,我们希望让图片显示在哪个ImageView上,把这个ImageView的实例传进去就可以了。

Glide最基本的使用方式,其实就是关键的三步走:先with(),再load(),最后into()。



相关标签: Glide 图片框架