Android中Glide加载到非ImageView控件上的背景图方法示例

前言

Glide是 Google推荐的图片加载库,它可以支持来自url,Android资源,文件,Uri中的图片加载,同时还支持gif图片的加载,以及各种图片显示前的bitmap处理(例如:圆角图片,圆形图片,高斯模糊,旋转,灰度等等),缓存处理,请求优先级处理,动画处理,缩略图处理,图片大小自定义等等.可谓是非常的强大.

一般情况下我们都是使用Glide加载图片到ImageView上,那么如何加载到Layout的背景上呢?

Layou是一个用于设计用户界面的强大工具,因为它能消除嵌套视图组和保持我们布局为扁平结构,这可以提高运行时性能。下面话不多说了,来一起看代码吧!

Glide.with(this) 
       .load("你需要加载的网址或其他参数") 
       .asBitmap() 
       .into(new SimpleTarget<Bitmap>(180,180) {//设置宽高 
          @Override 
         public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) { 
                Drawable drawable = new BitmapDrawable(resource); 
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { 
                     bg.setBackground(drawable);//设置背景 
               } 
         } 
   });

Glide4.4使用方法如下:
view即我们想要加载的控件:

SimpleTarget<Drawable> simpleTarget = new SimpleTarget<Drawable>() { 
 @Override 
 public void onResourceReady(Drawable resource, Transition<? super Drawable> transition) { 
        view.setBackground(resource); 
 } 
}; 
Glide.with(this).load(url).into(simpleTarget); 

关于SimpleTarget :@deprecated Use {@link CustomViewTarget} if loading the content into a view, the download API if
in the background

 val layout = helper.getView<LinearLayout>(R.id.item_layout)
        val target = object : CustomViewTarget<LinearLayout, Drawable>(layout) {
            override fun onResourceReady(resource: Drawable, transition: Transition<in Drawable>?) {
                layout.background = resource
            }

            override fun onResourceCleared(placeholder: Drawable?) {
                layout.background = placeholder
            }

            override fun onLoadFailed(errorDrawable: Drawable?) {
                layout.background = errorDrawable
            }

        }
        Glide.with(layout.context).load(item.image).into(target)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值