1

我是安卓新手。我正在尝试在我的 android 活动中画一个圆圈。首先,这在 android 活动中是可能的吗?

在谷歌搜索时,我发现需要为此添加画布。那是一个插件吗?如何将其包含在我的应用程序中?我试图以编程方式绘制。所以我尝试了以下代码。但不起作用。

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    int x = 10;
    int y = 10;
    int r = 4;
    Paint mPaint = new Paint();
    mPaint.setColor(Color.BLACK);
    Canvas mCanvas = new Canvas();
    mCanvas.drawCircle(x,y,r,mPaint); 
}

我是新来的。请帮忙。提前致谢。

4

2 回答 2

4

1. 第一种方法在位图上绘图

创建一个位图,然后在其画布上绘制,然后将此位图添加到imageviewButton或任何您想要的。

创建位图:

Bitmap bmp = Bitmap.createBitmap(width, height, config);

在位图画布上绘制

Canvas c = new Canvas(bmp);
c.drawCircle(cx, cy, radius, paint)

设置为imageview

img.setBackgroundDrawable(new BitmapDrawable(bmp));

2.画圈SurfaceView

 public class Circle extends SurfaceView implements SurfaceHolder.Callback {
 private Paint paint;

 public void onDraw(Canvas canvas) {
     canvas.drawCircle(x, y, radius, this.paint);
  }
 }

然后您可以将 SurfaceView 添加到您的 Activity 类中,例如:

public class MovingCircle extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(new Circle());
  }

}
于 2013-09-07T10:52:07.290 回答
0
int x = 10;
int y = 10;
int r = 4;
Paint mPaint = new Paint(); 

public void onDraw(Canvas c) {
    c.drawCircle(x,y,r,mPaint); 
}
于 2013-09-07T10:50:51.043 回答