版权声明:本文为xing_star原创文章,转载请注明出处!

本文同步自http://javaexception.com/archives/173

最近几天碰到了ImageView的background,Image等问题,还花了一番精力查阅资料。今天有时间整理下,汇总下。

问题1

如何为ImageView设置背景图,背景图来自于http请求?
可以参考如下做法:
(Glide4.x)
Glide.with(this)
.load(model.getPicture())
.into(new SimpleTarget<Drawable>() {
  @Override
  public void onResourceReady(Drawable resource, Transition<? super Drawable> transition) {
    imageView.setBackground(resource);
  }
});
这种方式,参考的是用Glide获取Drawable给imageView设置图片
Glide.with(this)
.load(model.getPicture())
.into(new SimpleTarget<Drawable>() {
  @Override
  public void onResourceReady(Drawable resource, Transition<? super Drawable> transition) {
    imageView.setImageDrawable(resource);
  }
});

问题2

如果想要去掉之前设置的背景图,将imageView的背景恢复到默认状态呢?
imageView.setBackgroundResource(0);

问题3

如果这个ImageView是自定义view呢,比如就是CircleImageView,设置url后,圆角不生效?
不使用CircleImageView自己的裁剪圆角逻辑,使用Glide的bitmapTransform
Glide.with(this).load(avatarUrl).placeholder(R.drawable.ic_select_profile)
.bitmapTransform(new CropCircleTransformation(this))
.into(imageView);

参考链接: