在位图Android上绘制新的圆圈

时间:2012-03-21 01:48:58

标签: android new-operator draw geometry trail

我想在画布上绘制一个圆圈并让它留下痕迹,而每次都画一个新的圆圈。我该怎么做呢?我所能做到的只是移动圆圈。

-CanvasTest Class

package canvas.test;

import android.app.Activity;
import android.os.Bundle;

public class CanvastestActivity extends Activity {
/** Called when the activity is first created. */
float x = 80;
float y = 20;
float r = 15;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Draw2D d = new Draw2D(this, x, y, r);
    try {
        Thread.sleep(100);
        x++;
        y++;
    } catch(InterruptedException e) {}
    setContentView(d);
}

}

- Draw2D Class

package canvas.test;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.View;

public class Draw2D extends View {  

float x;
float y;
float r;

public Draw2D(Context context, float x, float y, float r) {
    super(context);

    this.x = x;
    this.y = y;
    this.r = r;
}

@Override
protected void onDraw(Canvas c) {
    super.onDraw(c);

    Paint paint = new Paint();
    paint.setStyle(Paint.Style.FILL);

    paint.setColor(Color.WHITE);
    c.drawPaint(paint);

    paint.setAntiAlias(true);   
    paint.setColor(Color.BLUE);     
    c.drawCircle(x, y, r, paint);
}
}

这是我最近的测试。为什么圈子会移动?它根本不动。

1 个答案:

答案 0 :(得分:4)

你是否在doDraw方法的开头做了canvas.drawColor(Color.TRANSPARENT)或canvas.drawColor(Color.BLACK)之类的东西?

如果省略该调用,则不应清除画布并留下您正在寻找的路径。