package pontezit.android.tilos.com.adapter; import android.app.Activity; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; import com.androidquery.AQuery; import com.androidquery.callback.AjaxStatus; import com.androidquery.callback.BitmapAjaxCallback; import java.util.ArrayList; import pontezit.android.tilos.com.R; import pontezit.android.tilos.com.modell.Contributor; import pontezit.android.tilos.com.utils.StreamDrawable; public class ContributorAdapter extends BaseAdapter{ private static final int CORNER_RADIUS = 24; // dips private static final int MARGIN = 12; // dips private final int mCornerRadius; private final int mMargin; private final LayoutInflater inflater; private ArrayList<Contributor> contributorList; private Activity activity; public ContributorAdapter(Activity activity, ArrayList<Contributor> contributorList){ this.contributorList = contributorList; this.activity = activity; final float density = activity.getResources().getDisplayMetrics().density; mCornerRadius = (int) (CORNER_RADIUS * density + 0.5f); mMargin = (int) (MARGIN * density + 0.5f); inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE); } public int getCount() { return contributorList.size(); } public Object getItem(int position) { return position; } public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewGroup view = null; if (convertView == null) { view = (ViewGroup) inflater.inflate(R.layout.row_contributor, null); } else { view = (ViewGroup) convertView; } ImageView avatar = (ImageView) view.findViewById(R.id.avatarImage); Contributor contributor = contributorList.get(position); AQuery aq = new AQuery(activity); aq.id(avatar).image(contributor.getAuthor().getAvatar(), true, true, 0, 0, new BitmapAjaxCallback(){ @Override public void callback(String url, ImageView iv, Bitmap bm, AjaxStatus status){ StreamDrawable d = new StreamDrawable(bm, 100, 0); iv.getLayoutParams().width = bm.getWidth(); iv.getLayoutParams().height = bm.getHeight(); iv.setBackgroundDrawable(d); } }); //ContributorDrawable d = new ContributorDrawable(contributor.getAuthor().getAvatarBitmap(), mCornerRadius, mMargin); //view.setBackground(d); ((TextView) view.findViewById(R.id.nickView)).setText(contributor.getNick()); int w = 100; int h = 100; float ratio = w / (float) h; //LayoutParams lp = view.getLayoutParams(); //lp.width = activity.getResources().getDisplayMetrics().widthPixels; //lp.height = (int) (lp.width / ratio); return view; } }