2014-12-01 3 views
0

Я рисую 4 квадрата на холсте с 16-кратным расстоянием от углов экрана. , Никогда не появляетсяКраска 4 прямоугольника 16px из 4-х углов

canvas.drawRect(getWidth() - 91,getHeight() - 91, 75, 75, paint); 

С помощью этого кода квадрат: я пытаюсь с этим кодом. Как я могу нарисовать 4 квадрата?

ответ

1

Вот код, я довольно быстро, что должно помочь вам & вы должны быть в состоянии оптимизировать

int squareSize = 30; 
    int offset = 16; 
    // top left 
    canvas.drawRect(offset, offset, offset+squareSize, offset+squareSize, paint); 
    // top right 
    canvas.drawRect(getWidth() - offset - squareSize, offset, getWidth() - offset , offset+squareSize, paint); 
    // bottom left 
    canvas.drawRect(offset, getHeight() - offset - squareSize, offset+squareSize, getHeight() - offset, paint); 
    // bottom right 
    canvas.drawRect(getWidth() - offset - squareSize, getHeight() - offset - squareSize, getWidth() - offset , getHeight() - offset, paint); 
+0

Этот ответ хорош, но верхний правый квадрат не появляется. Для верхнего правого - canvas.drawRect (getWidth() - offset - squareSize, offset, getWidth() - offset, offset + squareSize, paint); Спасибо всем. –

+0

который правый квадрат? сверху или снизу? – petey

+0

@ DanielRuiz Ahh Я вижу, что пошло не так, я исправил его в редакции. – petey

0

Должно быть getWidth() - 75, getHeight() - 75.

Обратите внимание, что в javadoc вы должны указывать верхний левый, нижний, правый. http://developer.android.com/reference/android/graphics/Canvas.html#drawRect(float, плавать, плавать, плавать, android.graphics.Paint)

+0

Sorry eduyayo, но я Думаю, ты меня не понимаешь. Я буду рисовать из 16 пикселей со всех сторон. Если размер холста составляет, например, 960x540, один из этих квадратов должен стоять в: x = 449, y = 869. Во всяком случае, я попробовал ваше решение, но на экране нет квадратов. Если я использую проголосовать любимый \t Я рисую 4 квадрата на холсте с расстояния 16 пикселей от угла экрана. Я пытаюсь с этим кодом: canvas.drawRect (16,16, 75, 75, краска); Я могу нарисовать один квадрат в этом положении. –

Смежные вопросы