Android图片加载框架,Glide的简单用法
2017-05-03 15:03
309 查看
Glide是一款由Bump Technologies开发的图片加载框架,使我们可以在Android平台上以极度简单的方式加载和展示图片。要想使用Glide,必须将这个库引入我们的项目中,对于Android Studio用户,要导入一下依赖:
compile
'com.github.bumptech.glide:glide:3.7.0'
如果你还在使用Eclipse,那就去下载Glide的jar包吧,下载好后导入。
另外,在Glide中需要用到网络功能,所以必须在AndroidManifest.xml中加入网络请求的权限
<uses-permission
android:name="android.permission.INTERNET"
/>
-----加载图片-----
现在我们就尝试一下用Glide加载图片吧。比如这是一张完美景色图片地址:
http://cn.bing.com/az/hprichbg/rb/Dongdaemun_ZH-CN10736487148_1920x1080.jpg
那么首先,我们打开项目,在布局文件中假如一个Button按钮,和一个ImageView,如下:
为了让用户在点击按钮时,能够加载相应的图片展示在ImageView上,所以我们需要在Activity中进行操作,如下:
从上述可以看出,Glide加载图片最主要的其实就一行代码
千万不要小看这一行代码,就这一行代码可以做很多的事情,包括加载网络上的图片,加载手机本地图片、加载应用资源中的图片等等。
下面是这行代码的详细解释:
首先,调用Glide.with()方法用来创建一个加载图片的实例。with()方法可以接收Context、Activity、Fragment等类型的参数,言外之意,就是我们选择的范围非常广,不管是Activity中,还是Fragment中,调用with()方法,都可以直接传this。如果调用的地方既不在Activity中也不在Fragment中,我们可以通过ApplicationContext,传入方法当中,注意with()方法中传入的实例会决定Glide加载图片的生命周期,如果传入的是Activity或者Fragment的实例,那么当这个Activity或Fragment被销毁的时候,图片加载也会停止。如果传入的是ApplicationContext,那么只有当应用程序被杀掉的时候,图片加载才会停止。
------load()方法
这个方法用于指定待加载的图片资源,Glide支持加载各种各样的图片资源,包括网络图片、本地图片、应用资源、二进制流、URI对象等等。因此load()方法也有很多个方法重载,除了我们刚才使用的加载一个字符串网址之外,还可以这样使用load()方法:
------into()方法
这个方法就很简单了,我们希望让图片显示在哪个imageView上,把这个ImageView的实例传进去就可以了。
compile
'com.github.bumptech.glide:glide:3.7.0'
如果你还在使用Eclipse,那就去下载Glide的jar包吧,下载好后导入。
另外,在Glide中需要用到网络功能,所以必须在AndroidManifest.xml中加入网络请求的权限
<uses-permission
android:name="android.permission.INTERNET"
/>
-----加载图片-----
现在我们就尝试一下用Glide加载图片吧。比如这是一张完美景色图片地址:
http://cn.bing.com/az/hprichbg/rb/Dongdaemun_ZH-CN10736487148_1920x1080.jpg
那么首先,我们打开项目,在布局文件中假如一个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:id="@+id/button" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="20dp" android:singleLine="true" android:text="点击加载图片" /> <ImageView android:id="@+id/image" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginLeft="20dp" android:layout_marginRight="20dp" /> </LinearLayout>
为了让用户在点击按钮时,能够加载相应的图片展示在ImageView上,所以我们需要在Activity中进行操作,如下:
package xixinxin.bawie.com.item3; 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 { private Button button; private ImageView image; private String uri="http://cn.bing.com/az/hprichbg/rb/Dongdaemun_ZH-CN10736487148_1920x1080.jpg"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView();//找控件 } private void initView() { image = (ImageView) findViewById(R.id.image); button = (Button) findViewById(R.id.button); //对Button按钮进行监听,在监听中执行相应的操作 button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Glide.with(MainActivity.this).load(uri).into(image); } }); } }
从上述可以看出,Glide加载图片最主要的其实就一行代码
Glide.with(MainActivity.this).load(uri).into(image);
千万不要小看这一行代码,就这一行代码可以做很多的事情,包括加载网络上的图片,加载手机本地图片、加载应用资源中的图片等等。
下面是这行代码的详细解释:
首先,调用Glide.with()方法用来创建一个加载图片的实例。with()方法可以接收Context、Activity、Fragment等类型的参数,言外之意,就是我们选择的范围非常广,不管是Activity中,还是Fragment中,调用with()方法,都可以直接传this。如果调用的地方既不在Activity中也不在Fragment中,我们可以通过ApplicationContext,传入方法当中,注意with()方法中传入的实例会决定Glide加载图片的生命周期,如果传入的是Activity或者Fragment的实例,那么当这个Activity或Fragment被销毁的时候,图片加载也会停止。如果传入的是ApplicationContext,那么只有当应用程序被杀掉的时候,图片加载才会停止。
------load()方法
这个方法用于指定待加载的图片资源,Glide支持加载各种各样的图片资源,包括网络图片、本地图片、应用资源、二进制流、URI对象等等。因此load()方法也有很多个方法重载,除了我们刚才使用的加载一个字符串网址之外,还可以这样使用load()方法:
//加载本地图片 File mfile = new File(getExternalCacheDir() + "/image.jpg"); Glide.with(MainActivity.this).load(mfile).into(image); //加载应用资源 int recourse = R.mipmap.ic_launcher; Glide.with(MainActivity.this).load(recourse).into(image);
------into()方法
这个方法就很简单了,我们希望让图片显示在哪个imageView上,把这个ImageView的实例传进去就可以了。
相关文章推荐
- Android图片加载框架Glide的简单用法
- Android 图片加载框架Glide的简单用法
- Android中图片加载框架Glide解析1----基本用法
- Android强大的图片加载框架Fresco简单用法
- Android图片加载框架最全解析(一),Glide的基本用法
- Android图片加载框架Glide的基本用法介绍
- 安卓学习笔记---Android图片加载框架最全解析(一),Glide的基本用法
- Android图片加载框架Glide的基本用法
- Android图片加载框架最全解析(一),Glide的基本用法
- Android图片加载框架最全解析(一),Glide的基本用法
- Android图片异步加载框架Glide用法
- Android图片加载框架Glide用法
- Android图片加载框架Glide用法
- Android图片加载框架Glide用法
- Android图片加载框架Glide的基本用法详解
- 比较强大 优秀的开源框架 :Android图片加载与缓存:Android Glide 的用法
- Android图片加载框架最全解析(一),Glide的基本用法
- Android图片加载框架最全解析(一),Glide的基本用法
- Android图片加载框架(universal-image-loader,Picasso,Glide,Fresco)的用法
- Android图片加载框架Glide用法