Иногда готовых классов-наследников View недостаточно и требуется создать кастомную View. В общем случае для этого нужно сделать следующее:
- Наследоваться от View или класса-наследника View (например Button);
- Переопределить конструкторы класса View. Конструкторы используются системой при создании View, описанной в xml-лэйауте, поэтому конструкторы необходимо переопределить, даже если они не вызываются явно;
- Создать новые или переопределить существующие методы-листенеры ивентов, такие как onTouchEvent();
- Переопределить методы onDraw() и onMeasure();
- Переопределить другие
on…
методы, если потребуется.
Этот список действий не является обязательным, а лишь показывает, что требуется выполнить наиболее часто.