Не в состоянии понять ColorDrawable в Android - PullRequest
0 голосов
/ 26 июля 2011

Я изучаю Android в течение нескольких дней (или, по крайней мере, пытаюсь), но я могу обойти Drawables, ColorDrawables и так далее. Я попытался использовать простой ColorDrawable, который заполняет весь экран красным цветом ...

<color xmlns:android="http://schemas.android.com/apk/res/android">
android:color="#FFFF0000"
</color>

Но я не могу понять, что такое объекты Canvas, Paint и ColorDrawables. Я искал в книгах, Google, Android Docs и StackOverflow, но не могу получить прямой ответ о том, как следует вызывать объекты, чтобы отображать их на экране (ColorDrawables, ShapeDrawables, изображения ... и так далее).

Я знаю, что мой вопрос может быть слишком общим, но может ли кто-нибудь мне помочь или, по крайней мере, указать мне книгу или веб-страницу, на которой есть более подробная и более глубокая информация об этом материале?

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 26 июля 2011

В частности, для сплошного цвета обычно не нужно использовать ColorDrawable в коде, потому что большинство стандартных классов дают вам setBackgroundColor(int);а в XML android:background attribute позволяет вам указать цвет.

Давайте предположим, что вы имеете в виду более сложные вещи.В общем, вы будете использовать Drawables больше в макетах XML, чем в коде.В коде вы можете позволить Drawable нарисовать себя или создать подкласс View и переопределить View.onDraw(Canvas) и нарисовать то, что вы хотите.Например, вы можете кодировать новый ColorDrawable, а затем позволить ему рисовать себя через ColorDrawable.draw(Canvas), но вы можете сделать то же самое через Canvas.drawColor(int).

0 голосов
/ 26 июля 2011

Посмотрите, поможет ли это

Руководство по рисованию

...