Android 我有3个相同的位图,如何在中间和中间绘制一个位图

Android 我有3个相同的位图,如何在中间和中间绘制一个位图,android,bitmap,Android,Bitmap,我有一个圆类,它有一个绘图函数,,, 我有一个视图类,它创建了3个带有3种不同颜色的圆,, 我在屏幕上成功地画出了圆圈,1在左边,1在中间,1在右边。。。 圆的高度几乎是相同的高度与小的不同 O O O 想象这3个球,但高度较小(当球向左或向右移动时,它们相交)。 现在我的问题是,我试图把球移到右上角,移到左上角,同时把左下角的球移到右上角,我看到两个球都出现在中间的球上面,但我想要的是,顶球出现在中间球的后面,最后一个球出现在中间球的上方,就像现在一样,我怎么能做到这一点呢 编

我有一个圆类,它有一个绘图函数,,, 我有一个视图类,它创建了3个带有3种不同颜色的圆,, 我在屏幕上成功地画出了圆圈,1在左边,1在中间,1在右边。。。 圆的高度几乎是相同的高度与小的不同

    O 
  O
O
想象这3个球,但高度较小(当球向左或向右移动时,它们相交)。 现在我的问题是,我试图把球移到右上角,移到左上角,同时把左下角的球移到右上角,我看到两个球都出现在中间的球上面,但我想要的是,顶球出现在中间球的后面,最后一个球出现在中间球的上方,就像现在一样,我怎么能做到这一点呢

编辑:::

public class picture {
private Bitmap bitmapPicture;   // the actual bitmap
private int x;          // the X coordinate
private int y;          // the Y coordinate

        ...


public void draw(Canvas canvas,Paint paint) {
    canvas.drawBitmap(bitmapPicture, x , y , paint);

    }
some functions to move it to the right,, and left...
.....
}
我的观点类:

public class GamePanel extends View implements Runnable{
    private Picture[] picture;
       .....

      protected void onDraw(Canvas canvas) {
      super.onDraw(canvas);
      Paint paint = new Paint();
      for(int i=0;i<cupsNumber;i++){
         cup[i].draw(canvas,paint);
      }
        invalidate();
    }

}
public类GamePanel扩展视图实现可运行{
私人图片[]图片;
.....
受保护的void onDraw(画布){
super.onDraw(帆布);
油漆=新油漆();

对于(int i=0;i,您可能需要自己管理位图

用于绘制位图的
视图
类实际上应该是覆盖
onDraw()
视图
的子类。示例:

public class myCircleDrawer extends View {
     Bitmap circle1, circle2, circle3;

     @Override
     public void onDraw(canvas c) {
           c.drawBitmap(bitmap1);
     }
}
尝试阅读
Canvas
文档,学习更改位图(x,y)坐标的方法,以便移动它们

编辑:

好的,现在我明白了,如果你想做的是一个游戏,我建议你检查
SurfaceView
SurfaceView.Renderer
。这背后的原因是你需要自己管理对
draw()
函数的调用,而不是覆盖
onDraw()
;更新实体属性后,所有这些都会发生