package org.linnaeus.activity; import android.content.Context; import android.graphics.*; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.ImageView; import android.widget.TextView; import org.linnaeus.drawing.Shape; import java.util.ArrayList; /** * Created by IntelliJ IDEA. * User: Immortality * Date: 10.11.2010 * Time: 16:22:55 */ public class ShapeListAdapter extends ArrayAdapter { private static final int RESOURCE = R.layout.image_list_item; private ArrayList<Shape> _objects; private Context _context; public ShapeListAdapter(Context context, ArrayList<Shape> objects) { super(context, RESOURCE, objects); _context = context; _objects = objects; } @Override public View getView(int position, View convertView, ViewGroup parent) { View view = convertView; if (view == null) { LayoutInflater inflater = (LayoutInflater) _context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); view = inflater.inflate(RESOURCE, null); } Shape shapeItem = _objects.get(position); if (shapeItem != null) { TextView textView = (TextView)view.findViewById(R.id.text); textView.setText(shapeItem.getName()); ImageView imageView = (ImageView)view.findViewById(R.id.image); Bitmap image = Bitmap.createBitmap(48, 48, Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(image); Paint mPaint = new Paint(); mPaint.setAntiAlias(true); mPaint.setDither(true); mPaint.setColor(Color.BLACK); mPaint.setStyle(Paint.Style.STROKE); mPaint.setStrokeJoin(Paint.Join.ROUND); mPaint.setStrokeCap(Paint.Cap.ROUND); mPaint.setStrokeWidth(3); shapeItem.draw(canvas, mPaint, new Region(0,0, image.getWidth(), image.getHeight())); imageView.setImageBitmap(image); } return view; } }