ImageHolder占位符 public void setImagePlaceHolder(final String url, final ImageView view) { if (view == null || TextUtils.isEmpty(url)) { return; } ViewGroup.LayoutParams layoutParams = view.getLayoutParams(); if (layoutParams != null (l
public void setImagePlaceHolder(final String url, final ImageView view) {
if (view == null || TextUtils.isEmpty(url)) {
return;
}
ViewGroup.LayoutParams layoutParams = view.getLayoutParams();
if (layoutParams != null && (layoutParams.width <= 0 || layoutParams.height <= 0)) {
return;
}
final String LOCAL_PREFIX = "res://";
if (url.startsWith(LOCAL_PREFIX)) {
ThreadManager.post(ThreadManager.THREAD_WORK, new Runnable() {
@Override
public void run() {
final Drawable drawable = ResTools.getDrawable(url.substring(LOCAL_PREFIX.length()));
ThreadManager.post(ThreadManager.THREAD_UI, new Runnable() {
@Override
public void run() {
if (view.getDrawable() == null) {
view.setImageDrawable(drawable);
}
}
});
}
});
} else {
ThreadManager.post(ThreadManager.THREAD_UI, new Runnable() {
@Override
public void run() {
Bitmap cache = ImageLoader.getInstance().getMemoryCache().get(url);
if (cache == null) {
ImageView proxyImage = new ImageView(view.getContext()) {
@Override
public void setImageDrawable(Drawable drawable) {
if (view.getDrawable() == null) {
view.setImageDrawable(drawable);
}
}
};
proxyImage.setLayoutParams(view.getLayoutParams());
String uri = url.startsWith("//") ? "http:" + url : url;
WXImageLoaderManager.getInstance().displayImage(uri, view, null, null);
} else {
view.setImageBitmap(cache);
}
}
});
}
}
