package org.aisen.weibo.sina.ui.widget;
import org.aisen.weibo.sina.R;
import org.aisen.weibo.sina.support.compress.TimelineThumbBitmapCompress;
import org.android.loader.BitmapLoader;
import org.android.loader.core.BitmapOwner;
import org.android.loader.core.ImageConfig;
import org.sina.android.bean.PicUrls;
import org.sina.android.bean.StatusContent;
import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
public class CommentPicsView extends ViewGroup implements BitmapOwner {
private PicUrls[] picUrls;
public CommentPicsView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public CommentPicsView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public CommentPicsView(Context context) {
super(context);
}
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
ImageView imageView = (ImageView) getChildAt(0);
imageView.layout(0, 0, getWidth(), getHeight());
}
private void recyle() {
for (int i = 0; i < getChildCount(); i++) {
ImageView imgView = (ImageView) getChildAt(i);
imgView.setImageDrawable(BitmapLoader.getLoadingDrawable(imgView));
}
}
private void setTimelinePicsView() {
ImageConfig config = new ImageConfig();
config.setId("comments");
config.setLoadfaildBitmapRes(R.drawable.bg_timeline_loading);
config.setLoadingBitmapRes(R.drawable.bg_timeline_loading);
// config.setMaxWidth(getWidth());
// config.setMaxHeight(getHeight());
config.setBitmapCompress(TimelineThumbBitmapCompress.class);
ImageView imageView = (ImageView) getChildAt(0);
BitmapLoader.getInstance().display(this, picUrls[0].getThumbnail_pic(), imageView, config);
}
public void setPics(StatusContent status) {
// 测试
// int size = ++loadCount % 9 + 1;
// size = 9;
// PicUrls p = new PicUrls();
// p.setThumbnail_pic("http://ww2.sinaimg.cn/bmiddle/661b513cjw1eivtz9s3fcj20bd08ct96.jpg");
// PicUrls[] tempPicUrls = new PicUrls[size];
// for (int i = 0; i < tempPicUrls.length; i++) {
// if (picUrls != null && picUrls.length > i)
// tempPicUrls[i] = picUrls[i];
// else
// tempPicUrls[i] = p;
// }
// picUrls = tempPicUrls;
if (status == null || status.getPic_urls() == null || status.getPic_urls().length == 0) {
recyle();
setVisibility(View.GONE);
}
else {
setVisibility(View.VISIBLE);
this.picUrls = status.getPic_urls();;
setTimelinePicsView();
}
}
@Override
public boolean canDisplay() {
return true;
}
}