Рисование нескольких видов на Android - PullRequest
0 голосов
/ 28 декабря 2011

Я нашел похожие вопросы, но ни один из них не дает правильного ответа на мой вопрос.

У меня есть класс, который является представлением.

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, чтобы они не перекрывались. Я не хочу сначала преобразовывать вид в растровое изображение, чтобы получить его на холсте.

1 Ответ

0 голосов
/ 28 декабря 2011

Сначала - создайте некоторый макет, а затем вызовите setContentView (yourlayout).

Затем используйте такой метод:

setContentView(R.layout.main);
FrameLayout mainLayout=(FrameLayout) findViewById(R.id.mainLayout);
Dimension actor1 = new Actor(this);
mainLayout.addView(actor1);
...