2011-11-20 58 views
0

我是android新手。现在我在Android的XML文件中生成了两个ImageView。我想用画布在每个视图中绘制两个圆圈。但问题是,我如何处理坐标?我怎样才能知道坐标?我怎么能把他们集中?谢谢!Android canvas问题

+4

如果你发布了一些代码,并显示出你试图做什么它会更容易帮助你,我们什么都没有,现在去。 – Joru

回答

0

ImageViews通常用于显示图像文件。如果您想自己绘制视图,则可以创建自己的视图并重写onDraw方法。这里是绘制里面本身就是一个很大的红色圆圈类:

public class CircleView extends View { 

public CircleView(Context context, AttributeSet attrs, int defStyle) { 
    super(context, attrs, defStyle); 
} 

public CircleView(Context context, AttributeSet attrs) { 
    super(context, attrs); 
} 

public CircleView(Context context) { 
    super(context); 
} 

@Override 
protected void onDraw(Canvas canvas) { 
    Paint red = new Paint(); 
    red.setColor(0xffff0000); 
    int height = getHeight(); 
    int width = getWidth(); 
    int radius = width < height ? width/2 : height/2; 
    canvas.drawCircle(width/2, height/2, radius, red); 
} 



} 
0

您不能在ImageView中绘制圆圈。您只能在位图中绘制一个圆并将该位图应用于ImageView。

或者您可以创建自定义视图并直接在其画布上绘制。

在这两种情况下,您需要在创建这些视图后查找这些视图的大小。然后你会知道坐标为0,0从左上角开始。