在RecyclerView中使用Glide和CircleImag

2017-08-28  本文已影响157人  零宽度接合

在Glide加载图片到CircleImageView时, 如果设置了placeholder的话,可能会出现问题. 于是可以采用以下的方式加载圆形图片.

Glide.with(context).load(item.pictureUrl).asBitmap().placeholder(R.drawable.default_logo).error(R.drawable.default_logo).into(new SimpleTarget (DeviceUtils.dp2px(context,36), DeviceUtils.dp2px(context,36)) {

@Override

public void onResourceReady(Bitmap resource, GlideAnimation glideAnimation) {

holder.imageView.setImageBitmap(resource);}

});

但是如果是在RecyclerView的适配器中这样使用可能会引起图片错乱.

解决的办法还是使用setTag()和getTag().

String tag = (String) holder.imageView.getTag();if (!TextUtils.equals(item.pictureUrl, tag)) {

holder.imageView.setImageResource(R.drawable.default_logo);}

Glide.with(context).load(item.pictureUrl).asBitmap().placeholder(R.drawable.default_logo).error(R.drawable.default_logo).into(new SimpleTarget

(DeviceUtils.dp2px(context,36), DeviceUtils.dp2px(context,36)) {

@Override

public void onResourceReady(Bitmap resource, GlideAnimation

glideAnimation) {

holder.imageView.setTag(item.pictureUrl);holder.imageView.setImageBitmap(resource);}

});

上一篇下一篇

猜你喜欢

热点阅读