读书人

view的ondraw有关问题

发布时间: 2012-08-28 12:37:01 作者: rapoo

view的ondraw问题
我创建了一个view,在ondraw在里面画矩形,在onTouchEvent在里面改变位置继续画矩形,但是新的矩形画出来旧的就没了,怎么才能实现把旧的矩形保存下来形成重叠的效果呢?在对速度影响不大的情况下?

public class MyView extends View {
int px;
int py;
public MyView(Context context) {
super(context);
// TODO Auto-generated constructor stub
px = 100;
py = 100;
}

@Override
public void onDraw(Canvas canvas) {

super.onDraw(canvas);
Paint paint = new Paint();
paint.setColor(Color.WHITE);
paint.setStyle(Style.FILL);
canvas.drawRect(new Rect(px, py, px+100, py+100), paint);
}

@Override
public boolean onTouchEvent(MotionEvent event)
{
super.onTouchEvent(event);
px = (int) event.getX();
py = (int) event.getY();
this.invalidate();
return true;
}

[解决办法]
那就得把点记录下来了,然后每次ondraw的时候把以前的都绘制一遍
建议你把paint当做成员变量来用

读书人网 >Android

热点推荐