Я нашел похожие вопросы, но ни один из них не дает правильного ответа на мой вопрос.
У меня есть класс, который является представлением.
public class Actor extends View {
private ShapeDrawable drawable;
int x = 0;
int y = 0;
int width = 100;
int height = 40;
public Actor(Context context) {
super(context);
drawable = new ShapeDrawable(new OvalShape());
drawable.getPaint().setColor(0xff74AC23);
drawable.setBounds(x, y, x + width, y + height);
}
@Override
public void onDraw(Canvas canvas){
super.onDraw(canvas);
drawable.draw(canvas);
}
}
Теперь я хочу нарисовать несколько экземпляров этого представления на экране Android. Я могу нарисовать один, выполнив это в упражнении:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Dimension actor1 = new Actor(this);
setContentView(actor1);
}
Моя цель - нарисовать несколько его экземпляров, конечно, с другими параметрами x и y, чтобы они не перекрывались. Я не хочу сначала преобразовывать вид в растровое изображение, чтобы получить его на холсте.