Android图片加载框架Glide的简单用法
一、概述
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"/>
三、使用方法
<?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>
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); } }
下面我们就来详细解释一下这行代码
调用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()。