//获取布局文件中的容器 relat=(RelativeLayout)findViewById(R.id.relat); //创建DrawView组件 DrawView dv=new DrawView(getApplicationContext()); //设置自定义组件的最大宽度、高度 dv.setMinimumHeight(400); dv.setMinimumWidth(200); //添加到容器中 relat.addView(dv);
//自定义画圆 public class DrawView extends View{ private float cx=50; private float cy=50; //构造方法 public DrawView(Context context) { super(context); } public DrawView(Context context, AttributeSet attrs) { super(context, attrs); // TODO Auto-generated constructor stub } //重写OnDraw方法 @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); //创建画笔 Paint p=new Paint(); //设置画笔的颜色 p.setColor(Color.YELLOW); //绘制一个球 canvas.drawCircle(cx, cy, 50, p); /*//文本 canvas.drawText("自定义文本", 200, 330, p); Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher); //图片 canvas.drawBitmap(bitmap, 250, 300, p);*/ } //触碰事件的处理方法 @Override public boolean onTouchEvent(MotionEvent event) { cx=event.getX(); cy=event.getY(); //通知当前组件重绘自己 invalidate(); //返回true:表示该处理方法已经处理该事件 return false; } }