Какой опыт работы с View

«Какой опыт работы с View» — вопрос из категории UI и Views, который задают на 24% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Имею 3+ года опыта работы с View и ViewGroup в Android. Уверенно работаю с кастомными вьюхами, переопределяю onDraw(), onMeasure(), onLayout(). Оптимизировал производительность через View.invalidate() и View.postInvalidate().

Пример кастомной View:

class CustomCircleView @JvmOverloads constructor(
    context: Context,
    attrs: AttributeSet? = null
) : View(context, attrs) {

    private val paint = Paint(Paint.ANTI_ALIAS_FLAG).apply {
        color = Color.RED
        style = Paint.Style.FILL
    }

    override fun onDraw(canvas: Canvas) {
        super.onDraw(canvas)
        canvas.drawCircle(width / 2f, height / 2f, 100f, paint)
    }
}

Также работал с MotionLayout, ConstraintLayout, решал проблемы вложенности вьюх и перерисовок.