關於ImageView的幾個常見問題

marcushbs發表於2020-09-28

版權宣告:本文為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);

參考連結:

 

 

相關文章