Расскажите про реализацию метода View.onDraw()
Метод onDraw() отвечает за саму отрисовку View на экране пользователя. На вход она получает объект Canvas — холст. На канвасе можно рисовать все что угодно: 2D графику, текст, обычный и стилизованный, геометрические фигуры и много чего еще. Для рисования на канвасе используется объект Paint — кисточка. Она определяет как именно нужно рисовать то, что вы решили рисовать. В объекте paint можно задать цвет, толщину, anti-alias. Также существует класс TextPaint, который используется для задания параметров отрисовки текста.
В отличии от канвас, который поступает в метод onDraw() в качестве аргумента, Paint необходимо создать самому, при этом нежелательно создавать его каждый раз в методе onDraw(), так как данный метод вызывается достаточно часто и поэтому для него важно быстродействие. Paint лучше создать один раз при создании View, а затем постоянно переиспользовать при вызове onDraw(), чтобы избежать частого выделения памяти на новые Paint()
Портфолио из реальных проектов
Обучающая платформа AndroidSprint
Создавайте проекты с первых недель. Telegram-бот, Android-приложение, Backend API — всё на GitHub с тестами и CI/CD
- Проекты на GitHub: каждый трек даёт 3–5 работ для портфолио — показываете на собесах
- Код-ревью менторов: учитесь писать чисто и правильно — код не стыдно показать
- Production-качество: тесты, CI/CD, документация — как в продуктовых командах