Android画布问题

Android画布问题,android,Android,我是android新手。现在,我在Android XML文件中生成了两个ImageView。我想用画布在每个视图中画两个圆。但问题是,我如何处理坐标?我怎么知道坐标?我怎样才能使它们居中?谢谢 不能在ImageView中绘制圆环。只能在位图中绘制圆并将该位图应用于ImageView 也可以创建自定义视图并直接在其画布上绘制 在这两种情况下,您都需要在创建这些视图后找到它们的大小。然后您将知道坐标,因为0,0从左上角开始。图像视图通常用于显示图像文件。如果要自己绘制视图,可以创建自己的视图并重写o

我是android新手。现在,我在Android XML文件中生成了两个ImageView。我想用画布在每个视图中画两个圆。但问题是,我如何处理坐标?我怎么知道坐标?我怎样才能使它们居中?谢谢

不能在ImageView中绘制圆环。只能在位图中绘制圆并将该位图应用于ImageView

也可以创建自定义视图并直接在其画布上绘制


在这两种情况下,您都需要在创建这些视图后找到它们的大小。然后您将知道坐标,因为0,0从左上角开始。

图像视图通常用于显示图像文件。如果要自己绘制视图,可以创建自己的视图并重写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);
}



}
公共类CircleView扩展视图{
public CircleView(上下文、属性集属性、int-defStyle){
超级(上下文、属性、定义样式);
}
公共电路视图(上下文、属性集属性){
超级(上下文,attrs);
}
公共电路视图(上下文){
超级(上下文);
}
@凌驾
受保护的void onDraw(画布){
油漆红色=新油漆();
红色。设置颜色(0xffff0000);
int height=getHeight();
int width=getWidth();
int半径=宽度<高度?宽度/2:高度/2;
画布。画圈(宽度/2,高度/2,半径,红色);
}
}

如果您发布了一些代码并展示了您所做的尝试,我们将更容易为您提供帮助,因为我们现在没有什么可以做的。