我发现了类似的问题,但没有一个能够正确回答我的问题。
我有一个视图的课程。
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参数,因此它们不会重叠。我不想先将视图转换为位图,以便在画布中获取它。
答案 0 :(得分:0)
首先 - 创建一些布局,然后调用setContentView(yourlayout)。
然后,使用这样的方法:
setContentView(R.layout.main);
FrameLayout mainLayout=(FrameLayout) findViewById(R.id.mainLayout);
Dimension actor1 = new Actor(this);
mainLayout.addView(actor1);