Расскажите про реализацию метода View.onDraw()

Метод onDraw() отвечает за саму отрисовку View на экране пользователя. На вход она получает объект Canvas — холст. На канвасе можно рисовать все что угодно: 2D графику, текст, обычный и стилизованный, геометрические фигуры и много чего еще. Для рисования на канвасе используется объект Paint — кисточка. Она определяет как именно нужно рисовать то, что вы решили рисовать. В объекте paint можно задать цвет, толщину, anti-alias. Также существует класс TextPaint, который используется для задания параметров отрисовки текста.

В отличии от канвас, который поступает в метод onDraw() в качестве аргумента, Paint необходимо создать самому, при этом нежелательно создавать его каждый раз в методе onDraw(), так как данный метод вызывается достаточно часто и поэтому для него важно быстродействие. Paint лучше создать один раз при создании View, а затем постоянно переиспользовать при вызове onDraw(), чтобы избежать частого выделения памяти на новые Paint()

Поделиться уроком

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *