解决Glide加载圆形图片,第一次只显示点位图的问题
1 parent 54cf183 commit ce068f3db5033b9af4b1b6ca5b9e77184dce9bcb
studiotang committed on 4 Nov 2015
@@ -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); | ||
} | ||
View
@@ -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()); | ||
View
@@ -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 | ||
- * @param container | ||
+ * @param 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); | ||
+ } | ||
+ }); | ||
} | ||
/** | ||