解决Glide加载圆形图片,第一次只显示点位图的问题
1 parent 54cf183 commit ce068f3db5033b9af4b1b6ca5b9e77184dce9bcb studiotang committed on 4 Nov 2015
3 changed files with 37 additions and 10 deletions.
| @@ -68,7 +68,7 @@ public View getView(int position, View convertView, ViewGroup parent) { | |
| | } |
| | |
| | if (!TextUtils.isEmpty(getItem(position).getImgUrl())) { |
| | -ImageLoaderUtils.displayImg(getItem(position).getImgUrl(), holder.imvBlogger); |
| | +ImageLoaderUtils.displayRoundImage(getItem(position).getImgUrl(), holder.imvBlogger); |
| | }else |
| | holder.imvBlogger.setImageResource(R.drawable.ic_default); |
| | } |
|
@@ -113,7 +113,7 @@ public View getView(int position, View convertView, ViewGroup parent) { | ||
| | holder.date.setText(item.getPostTime()); |
| | // holder.reply.setText(item.getReplyCount()); |
| | |
| | -ImageLoaderUtils.displayImg(item.getUserface(), holder.userface); |
| | +ImageLoaderUtils.displayRoundImage(item.getUserface(), holder.userface); |
| | break; |
| | caseAppConstants.DEF_COMMENT_TYPE.CHILD: |
| | holder.name.setText(item.getUsername()); |
|
| | @@ -1,8 +1,13 @@ |
| | packagecom.free.csdn.util; |
| | |
| | importcom.bumptech.glide.Glide; |
| | +importcom.bumptech.glide.request.target.BitmapImageViewTarget; |
| | importcom.free.csdn.R; |
| | |
| | +importandroid.content.Context; |
| | +importandroid.graphics.Bitmap; |
| | +importandroid.support.v4.graphics.drawable.RoundedBitmapDrawable; |
| | +importandroid.support.v4.graphics.drawable.RoundedBitmapDrawableFactory; |
| | importandroid.text.TextUtils; |
| | importandroid.widget.ImageView; |
| | |
@@ -19,13 +24,12 @@ | ||
| | * 加载图片 |
| | * |
| | * @param url |
| | - container |
| | + imageView |
| | */ |
| | -public static void displayImg(String url, ImageView container) { |
| | -// Glide.with(myFragment).load(url).centerCrop().placeholder(R.drawable.loading_spinner) |
| | -// .crossFade().into(myImageView); |
| | -Glide.with(container.getContext()).load(url).centerCrop().crossFade() |
| | - .error(R.drawable.ic_default).into(container); |
| | +public static void displayImg(String url, ImageView imageView) { |
| | +Glide.with(imageView.getContext()).load(url).centerCrop().crossFade().placeholder(R.drawable.ic_default) |
| | + .error(R.drawable.ic_default).into(imageView); |
| | + |
| | } |
| | |
| | /** |
@@ -37,8 +41,31 @@ public static void displayImg(String url, ImageView container) { | ||
| | * 默认占位图片 |
| | */ |
| | publicstatic void displayImg(Stringurl, ImageView container,int defaultResId) { |
| | -Glide.with(container.getContext()).load(url).centerCrop().crossFade() |
| | - .placeholder(defaultResId).error(R.drawable.ic_default).into(container); |
| | +Glide.with(container.getContext()).load(url).centerCrop().crossFade().placeholder(defaultResId) |
| | + .error(R.drawable.ic_default).into(container); |
| | + } |
| | + |
| | +/** |
| | + * 加载圆形图片 |
| | + * |
| | + * @error 加载圆形图片或者其他自定义图片,需要作一些转化,详细请参考: |
| | + * <a herf="http://www.jianshu.com/p/4a3177b57949"> |
| | + * |
| | + * @param url |
| | + * @param imageView |
| | + */ |
| | +public static void displayRoundImage(String url, final ImageView imageView) { |
| | +final Context context = imageView.getContext(); |
| | +Glide.with(context).load(url).asBitmap().centerCrop().placeholder(R.drawable.ic_default) |
| | + .error(R.drawable.ic_default).into(newBitmapImageViewTarget(imageView) { |
| | +@Override |
| | +protected void setResource(Bitmapresource) { |
| | +RoundedBitmapDrawable circularBitmapDrawable= RoundedBitmapDrawableFactory |
| | + .create(context.getResources(), resource); |
| | +// circularBitmapDrawable.setCircular(true); |
| | + imageView.setImageDrawable(circularBitmapDrawable); |
| | + } |
| | + }); |
| | } |
| | |
| | /** |
|