在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);}
});
网友评论