Я хочу нарисовать круг в холсте. Я использую функцию для выполнения id:Почему этот код работает только один раз [Android-canvas]
public static void add()
{
float a = 20 + (new Random()).nextInt(width-40);
float b = 20 + (new Random()).nextInt(height-40);
paint.setColor(Color.rgb(13, 13, 13));
c.drawCircle(a, b, r, paint);
paint.setColor(Color.rgb(119, 119, 119));
c.drawCircle(a, b, r-3, paint);
}
Он работает только один раз, когда он вызван из «onDraw».
p.s. краска, ширина, высота, c - общепринятая вариабельность.
UPD .:
protected void onDraw(Canvas canv)
{
super.onDraw(canv);
c = canv;
paint = new Paint();
paint.setStyle(Paint.Style.FILL);
paint.setAntiAlias(true);
paint.setColor(Color.WHITE);
c.drawPaint(paint);
add();
}
переместите чертеж в 'onDraw' и вызовите' invalidate() 'для обновления/обновления. – Raghunandan