Как использовать холст рисовать случайно? - PullRequest
1 голос
/ 25 ноября 2011
@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, чтобы комментировать.Моя цель состоит в том, чтобы найти способ, позволяющий этой функции случайным образом выбирать рисованный круг или прямоугольник.Может кто-нибудь сказать мне, как это сделать?

Ответы [ 2 ]

0 голосов
/ 25 ноября 2011

Это скорее вопрос java, чем вопрос об андроиде, но до тех пор, пока вам не нужна точная точность (я считаю, что случайная функция не совсем случайна), это подойдет:

@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);
}
0 голосов
/ 25 ноября 2011
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 () - отличный выбор.

...