forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Android (http://forum.boolean.name/forumdisplay.php?f=150)
-   -   SetColor или его аналог (http://forum.boolean.name/showthread.php?t=17060)

PassCall 21.07.2012 11:57

SetColor или его аналог
 
Добрый день/вечер

Такой вопрос.

Есть такая вот процедура:
canvas.drawRect(x1,y1,x2,y2,Paint);

С первыми четырьмя аргументами все понятно, а вот с Paint не так просто.

Ясно, что нужно использовать переменную типа Paint, заранее описав и присвоив ей значение.

Однако, нельзя ли записать цвет напрямую в аргумент?

типа canvas.drawRect(0,0,100,100,RGB(255,200,100));

Или Андроид не одобряет такое?

Mhyhr 21.07.2012 15:01

Ответ: SetColor или его аналог
 
Если бы в Paint хранился только цвет, то наверное сделали бы конструктор и тогда можно было бы
типа
Код:

canvas.drawRect(0,0,100,100, Paint(255,200,100));
Но данный вариант не должен напрягать при продуманной архитектуре
Код:

Paint myPaint = new Paint();
myPaint.setColor(Color.rgb(0, 0, 0));
myPaint.setStrokeWidth(10);
...
c.drawRect(100, 100, 200, 200, myPaint);

Если сильно мешает жить сделай статичный myPaint, и статик функцию setColor(...) которая будет менять этот myPaint. И в коде юзай myPaint.
Но не скажу что это труъ


Часовой пояс GMT +4, время: 12:35.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot