1
@Override
protected void onDraw(Canvas canvas) {
    // TODO Auto-generated method stub
    super.onDraw(canvas);
    Paint paint = new Paint();
    paint.setAntiAlias(true);
    paint.setColor(Color.RED);
    canvas.drawCircle(10,10,10, paint);
    //canvas.drawRect(10,20,30,40, paint);
}

这是一个简单的onDraw功能。我做drawRect了评论。我的目标是找到一种方法让这个函数随机选择绘制圆形或矩形。有人可以告诉我该怎么做吗?

4

2 回答 2

0
if(new Random().nextInt(2)==0)
    canvas.drawCircle(10,10,10,paint);
else
    canvas.drawRectangle(10,20,30,40,paint);

根据随机数执行您的操作。nextInt(x) 提供一个小于 x 且等于或大于零的整数。

我使用 nextInt() 是因为它提供了扩展到超过 2 个选择的灵活性,如果你愿意的话......然后你可以使用与 switch() 语句相同的结构......否则,作为 st0le 注释,nextBoolean()是一个很好的选择。

于 2011-11-25T01:22:26.503 回答
0

这更像是一个 java 问题而不是 android 问题,但只要您不需要精确的准确性(我相信随机函数并不是那么随机),就可以:

@Override
protected void onDraw(Canvas canvas) {
    // TODO Auto-generated method stub
    super.onDraw(canvas);
    Paint paint = new Paint();
    paint.setAntiAlias(true);
    paint.setColor(Color.RED);
    if (Math.random() > 0.5)
        canvas.drawCircle(10,10,10, paint);
    else
        canvas.drawRect(10,20,30,40, paint);
}
于 2011-11-25T01:23:16.103 回答