Android glide使用简单例子(比较全的例子,包含gif)


在泰国举行的谷歌开发者论坛上,谷歌为我们介绍了一个名叫  Glide  的图片加载库,作者是bumptech。这个库被广泛的运用在google的开源项目中,包括2014年google I/O大会上发布的官方app。

所以说gilde同volley一样是Google的亲儿子,是google主推的图片加载库。

1,同过AS下载gilde

compile 'com.github.bumptech.glide:glide:3.7.0'
2,这个别忘了,不要粗心哦,很容易忘得,最简单的问题,往往需要最简单的搞定啦。

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
3.布局就很好写了,如下

<?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:gravity="center"
    android:orientation="vertical">

    <ImageView
        android:id="@+id/imageview_activity_main"
        android:layout_width="100dp"
        android:layout_height="100dp" />

</LinearLayout>
4.下面看Activity的主代码,非常简单的一句话就搞定了,

(1)加载资源文件,当然也可以换成是drawable底下的图片。

ImageView iv = (ImageView) findViewById(R.id.imageview_activity_main);
//加载资源中的图片
Glide.with(this).load(R.mipmap.ic_launcher).into(iv);//mipmap底下的资源文件
效果如下:


(2)加载文件中的图片,前提文件中必须有图片,没有效果图,但是只要文件路径对了,一定可以的。
 //加载文件中的图片
       File file = new File(Environment.getExternalStorageDirectory().getPath() + path);
        Glide.with(context).load(file).into(iv);
(3)加载uri图片路径,效果图如下,这个应该不是很常用。

 public static final String RESOURCE = "android.resource://";
    public static final String SLASH = "/";
private int resId = R.mipmap.ic_launcher;
 //加载Uri中的图片
      Uri uri = Uri.parse(RESOURCE + getPackageName() + SLASH + resId);
       Glide.with(context).load(uri).into(iv);


(4)加载网络图片,这里提供一个最简单的用法。

private String url_img = "http://p4.so.qhimg.com/t010c102c7b029340d4.jpg";


 //加载网络图片
       Glide.with(context).load(url_img).into(iv);


(5)加载gif图片

 private String url_gif = "http://pic.uuhy.com/uploads/2011/02/11/005.gif";


//加载Gif图片
       // Glide.with(context).load(url_gif).into(iv);

gilde默认的 Bitmap格式是 RGB_565,所以开销比较小,oom异常的机会非常小。

Glide.with()使用,不仅限于context,如下也可以。
  1. with(Context context). 使用Application上下文,Glide请求将不受Activity/Fragment生命周期控制。
  2. with(Activity activity).使用Activity作为上下文,Glide的请求会受到Activity生命周期控制。
  3. with(FragmentActivity activity).Glide的请求会受到FragmentActivity生命周期控制。
  4. with(android.app.Fragment fragment).Glide的请求会受到Fragment 生命周期控制。
  5. with(android.support.v4.app.Fragment fragment).Glide的请求会受到Fragment生命周期控制。
还可以这样,圆角

 //圆形裁剪
    Glide.with(this)
        .load("http://inthecheesefactory.com/uploads/source/nestedfragment/fragments.png")
        .bitmapTransform(new CropCircleTransformation(this))
        .into(iv_0);
    //圆角处理
    Glide.with(this)
        .load("http://inthecheesefactory.com/uploads/source/nestedfragment/fragments.png")
        .bitmapTransform(new RoundedCornersTransformation(this,30,0, RoundedCornersTransformation.CornerType.ALL))
        .into(iv_0);
当然gilde还要许多强大的功能,我在这里就不一一赘述了,这是最基本的用法,希望对初学者有一定的帮助。
最后附上源码地址:

点击打开链接

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值