Ответ
Custom View — это пользовательский компонент интерфейса, созданный разработчиком для отображения уникального UI, который невозможно реализовать стандартными виджетами.
Основные моменты:
- Наследуется от
Viewили его подклассов (ImageView,Buttonи т. д.). - Переопределяются методы жизненного цикла:
onMeasure(),onLayout(),onDraw(). - Можно добавлять кастомные атрибуты через XML с помощью
declare-styleable.
Пример:
class CircleView(context: Context, attrs: AttributeSet) : View(context, attrs) {
private val paint = Paint(Paint.ANTI_ALIAS_FLAG).apply {
color = Color.RED
}
override fun onDraw(canvas: Canvas) {
super.onDraw(canvas)
canvas.drawCircle(width / 2f, height / 2f, 100f, paint)
}
}
Использование в XML:
<com.example.app.CircleView
android:layout_width="200dp"
android:layout_height="200dp" />