Какие знаешь конструкторы у View

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

Ответ

В Android есть несколько конструкторов у View:

  1. View(Context context) – базовый конструктор, используется при создании View программно.
  2. View(Context context, AttributeSet attrs) – используется при инфлейте из XML.
  3. View(Context context, AttributeSet attrs, int defStyleAttr) – добавляет стиль по умолчанию из темы.
  4. View(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) (API 21+) – добавляет ресурс стиля по умолчанию.

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

class CustomView @JvmOverloads constructor(
    context: Context,
    attrs: AttributeSet? = null,
    defStyleAttr: Int = 0
) : View(context, attrs, defStyleAttr) {
    // Инициализация
}