我成功地在畫布上添加了一個橢圓形狀,但是現在我想添加兩個矩形,但由於某些原因它們不會添加到畫布中。橢圓形是一個移動的球,矩形是「背景」的靜態元素。一個矩形應該是一個地板,另一個矩形應該是運動物體,球的障礙物。將多個元素繪製到畫布上
我試圖想象它的圖像:
這是代碼,mBack和小怪我試圖添加的矩形。
AnimatedView animatedView = null;
ShapeDrawable mDrawable = new ShapeDrawable();
ShapeDrawable mBack = new ShapeDrawable();
ShapeDrawable mJump = new ShapeDrawable();
public static int x;
public static int y;
public class AnimatedView extends ImageView {
static final int width = 50;
static final int height = 50;
public AnimatedView(Context context) {
super(context);
// TODO Auto-generated constructor stub
mDrawable = new ShapeDrawable(new OvalShape());
mBack = new ShapeDrawable(new RectShape());
mObs = new ShapeDrawable(new RectShape());
mDrawable.getPaint().setColor(0xffffAC23);
//mDrawable.setBounds(x, y, x + width, y + height);
mDrawable.setBounds(y, x, y + width, x + height);
mBack.setBounds(100, 100, 100, 100);
mObs.setBounds(120,120,120,120);
}
@Override
protected void onDraw(Canvas canvas) {
mDrawable.setBounds(y, x, y + width, x + height);
mBack.draw(canvas);
mDrawable.draw(canvas);
invalidate();
}
}
mDrawable將被添加,但mBack或mObs不是。將setBounds添加到onDraw也不會改變事物。
代碼中缺少一些上下文; x和y他們在哪裏定義?繪圖的定義在哪裏? – abbath
對不起,現在已修復。 – Banana