Ответ
В Android View есть несколько специфик:
-
Measure/Layout/Draw - View проходит три этапа отрисовки. Важно не блокировать UI-поток в этих методах.
-
Invalidate() vs requestLayout():
invalidate()- перерисовывает View (вызываетonDraw())requestLayout()- пересчитывает размеры и положение (вызываетonMeasure()иonLayout())
- Touch Event Handling - события касания обрабатываются через:
@Override
public boolean onTouchEvent(MotionEvent event) {
// Обработка касаний
return true; // потребляем событие
}
-
Custom Attributes - можно добавлять кастомные атрибуты в XML через
declare-styleable. -
Hardware Acceleration - некоторые операции (например,
setAlpha()) могут вести себя по-разному при включенном аппаратном ускорении. -
View Lifecycle - методы типа
onAttachedToWindow(),onDetachedFromWindow()помогают управлять ресурсами.