Я хочу нарисовать круг на холсте и оставить его след, а каждый раз нарисовать новый круг. Как мне это сделать? Все, что я могу сделать, это перемещать круг вокруг.Нарисуйте новый круг на растровом Android
-CanvasTest Класс
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 Класс
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);
}
}
Это мой последний тест. Почему теперь кружок движется? Это совсем не движется.
Я не использую это. То, что я делаю, рисует пустую белую растровую карту на холсте, а затем пытается нарисовать круг. – linuxer
Я делаю рисунок в onDraw, должен ли я рисовать где-то еще? – linuxer
, если вы разместили какой-то образец кода, было бы немного легче увидеть, но если вы рисуете белый растровый рисунок на каждом призыве «нарисовать», то это стирает ваш круг. Вам нужно будет либо сохранить все locs для вашего круга, и нарисовать их каждый запрос, либо просто покрасить фон с самого начала, а затем нарисовать затем новое окружение на каждом вызове для рисования. – broschb