图片加载框架(Glide)

1,介绍:

* 专注于处理平滑滑动的图片类库

* 默认使用HttpUrlConnection下载图片

* 支持设置渐渐显示的动画

* 支持设置加载中的图片

* 不支持圆角

 

2,简单使用

【1】添加依赖和权限

  • 添加依赖

compile 'com.github.bumptech.glide:glide:3.7.0'
  • 使用

  //使用Glide加载图片

Glide.with(holder.tvImage.getContext())

          .load(Constants.IMAGES[position])  //url地址

          .centerCrop()//设置从中间剪切

          .placeholder(R.mipmap.ic_launcher)//设置默认图片

          .error(R.mipmap.error)//设置error失败的图片

          .crossFade(1000)

          .into(holder.tvImage);

 

3,案例

【1】实现效果

 

 

【2】实习逻辑

  • 添加依赖

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

compile 'com.android.support:recyclerview-v7:25.1.0'
  • LoadImageActivity创建布局里面放置RecyclerView

<?xml version="1.0" encoding="utf-8"?>

<android.support.v7.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android"

     android:layout_width="match_parent"

    android:id="@+id/recyclerView"

    android:layout_height="match_parent">

</android.support.v7.widget.RecyclerView>
  • RecyclerView获取控件设置竖直摆放效果

recyclerView.setLayoutManager(new LinearLayoutManager(this));
  • 设置adapter

class MyAdapter extends RecyclerView.Adapter<MyHolder> {

        @Override

        public MyHolder onCreateViewHolder(ViewGroup parent, int viewType) {

            return new MyHolder(View.inflate(parent.getContext(), R.layout.adapter_image, null));

        }

        @Override

        public void onBindViewHolder(MyHolder holder, int position) {

            //使用Glide加载图片

          Glide.with(holder.tvImage.getContext())

                    .load(Constants.IMAGES[position])

                    .centerCrop()//设置从中间剪切

                    .placeholder(R.mipmap.ic_launcher)//设置默认图片

                    .error(R.mipmap.error)//设置error失败的图片

                    .crossFade(1000)

                    .into(holder.tvImage);

        }





        @Override

        public int getItemCount() {

            return Constants.IMAGES.length;

        }

    }



    class MyHolder extends RecyclerView.ViewHolder {

        @Bind(R.id.tv_image)

        ImageViewtvImage;

        MyHolder(View view) {

            super(view);

            ButterKnife.bind(this, view);

        }

    }



adapter_image 布局文件

  •  
<?xml version="1.0" encoding="utf-8"?>

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"

    android:minWidth="2000dp"   //不设置值,布局无法居中

    android:padding="10dp"

    android:layout_height="match_parent">



    <ImageView

        android:layout_gravity="center"

        android:id="@+id/tv_image"

        android:layout_width="200dp"

        android:layout_height="200dp" />

</FrameLayout>
  • 访问的图片Url路径

public interface Constants {





    String[] IMAGES = new String[] {

         // Heavy images

         "http://a.hiphotos.baidu.com/image/w%3D310/sign=c21ca7270b24ab18e016e73605fbe69a/728da9773912b31b202b8f288418367adab4e168.jpg",

         "http://e.hiphotos.baidu.com/image/pic/item/5243fbf2b2119313c4d3242166380cd790238d8b.jpg",

         "http://f.hiphotos.baidu.com/image/pic/item/8b13632762d0f7035486c57d0bfa513d2697c55f.jpg",

         "http://g.hiphotos.baidu.com/image/pic/item/c995d143ad4bd113050ef62059afa40f4afb05e4.jpg",

         "http://b.hiphotos.baidu.com/image/pic/item/38dbb6fd5266d0169843e151952bd40735fa3574.jpg",

         "http://tech.ccidnet.com/col/attachment/2014/1/2684431.jpg",

         "http://ww1.sinaimg.cn/large/bc9f5ba3jw1dzaj6clv1nj.jpg",

         "http://img1.soufun.com/album/2012_02/21/1329815025308_000.jpg",

         "http://i3.tietuku.com/2ad60923cfbf20a9s.jpg",

         "http://img5.imgtn.bdimg.com/it/u=4292479122,1538056941&fm=21&gp=0.jpg",

         "http://img0.imgtn.bdimg.com/it/u=4220365430,137606180&fm=21&gp=0.jpg",

         "http://f6.topit.me/6/a7/7f/11165554671437fa76o.jpg",

         "http://f7.topit.me/7/46/f1/11908078649c6f1467o.jpg",

         "http://img4.duitang.com/uploads/blog/201401/12/20140112183529_cVnxn.jpeg",

         "http://img5.duitang.com/uploads/item/201402/28/20140228010352_t4vkJ.thumb.700_0.jpeg",

         "http://cdnq.duitang.com/uploads/item/201401/24/20140124143540_te3Wx.jpeg",

         "http://cdn.duitang.com/uploads/blog/201401/12/20140112173332_e5dPj.jpeg",

         "http://img1.imgtn.bdimg.com/it/u=933619302,2099219215&fm=21&gp=0.jpg",

         "http://img6.faloo.com/Picture/0x0/1/1462/1462375.jpg",

         "http://i1.topit.me/1/6f/e2/1142027295f98e26f1o.jpg",

         "http://p2.gexing.com/G1/M00/FA/49/rBACE1KjHSDQsqrOAACYniqRbZo130.jpg",

         "http://img4.duitang.com/uploads/item/201208/13/20120813120105_R3SAz.thumb.600_0.jpeg",

         "http://p4.gexing.com/qqpifu/20121006/0918/506f870311354.jpg",

         "http://p2.gexing.com/qqpifu/20120906/0136/50478d8874c30.jpg",

         "http://dota2.yzz.cn/pc/img/dota/11.jpg",

         "http://img.wy.073img.com/uploads/allimg/130708/27_130708101847_1.jpg",

         "http://images.17173.com/2013/news/2013/06/13/mj0613co12s.jpg",

         "http://img4.imgtn.bdimg.com/it/u=427763304,3519674062&fm=21&gp=0.jpg",

         "http://img5.imgtn.bdimg.com/it/u=2997221812,1149745093&fm=21&gp=0.jpg",

         "http://img1.imgtn.bdimg.com/it/u=2550640260,3138080897&fm=21&gp=0.jpg",

         "http://images.17173.com/2013/news/2013/01/14/hy0114ai07s.jpg",

         "http://pic5.duowan.com/aion/0908/113237346239/113237846350.jpg",

         "http://img3.178.com/aion/201102/92705832634/92706128419.jpg",

         "http://pic5.duowan.com/aion/1008/145811079570/145811886489.jpg",

         "http://img5.imgtn.bdimg.com/it/u=609909125,3962392516&fm=21&gp=0.jpg",

         "http://e.hiphotos.baidu.com/image/h%3D200/sign=56f6f02b2b738bd4db21b531918a876c/6a600c338744ebf8960eebc9dcf9d72a6159a7cd.jpg",

         "http://g.hiphotos.baidu.com/image/pic/item/50da81cb39dbb6fd9caad8ba0c24ab18962b37bc.jpg",

         "http://img3.imgtn.bdimg.com/it/u=799759480,1513466093&fm=21&gp=0.jpg",

         "http://www.cgrealm.org/u/upload/2007/12/27/27644.jpg",

         "http://img1.cache.netease.com/catchpic/2/24/2414155BD7E04FFA4628E39DF11B21F1.jpg",

         "http://img.taopic.com/uploads/allimg/121212/267865-12121222403949.jpg",

         "http://s1.it.itc.cn/z/forum_attachment/day_110522/1105221941f496ba48e003c9bc.jpg",

         "http://img1.cache.netease.com/catchpic/2/24/2414155BD7E04FFA4628E39DF11B21F1.jpg"

   };

}















 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

兴帅_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值