Домой Android разработкаUI и UX. Графика в Android Android Custom View как комбинация стандартных элементов

Android Custom View как комбинация стандартных элементов

by dilix
Custom View Group из готовых компонент

Custom View это удобный и правильный способ инкапсуляции части UI. Он позволяет вынести интерфейс в отдельный блок и переиспользовать его. Создавать их проще чем кажется на первый взгляд.

Можно выделить три основных подхода к созданию Custom View в Android приложении

  1. Компоновка готовых элементов для создания инкапсулированного блока UI. По-честному это Custom ViewGroup на основе уже доступных Layoutов. На практике самый частый кейс. Все равно, что выносим блок кода в метод, с той лишь разницей, что выделяем и часть UI.
  2. Создание View с нуля и произвольная отрисовка элементов. Тогда вам нужно будет переопределить onMeasure(), onLayout(), onDraw() и т.д. Реализовать обработку нажатий, сохранение состояния и еще много чего интересного. Второй по популярности случай. Подходит, когда нужно сделать собственный элемент интерфейса, например график.
  3. Реализация собственной Custom ViewGroup, которая отвечает за расположения дочерних элементов внутри себя. Последний по популярности, но довольно кропотливый в реализации вариант. Linear, Constraint, Frame и другие Layoutы позволяют реализовать любой интерфейс. Прибегнуть к реализации Custom ViewGroup можно ради улучшения производительности или при сложном взаимодействии элементов внутри группы.

Каждый из трех вариантов заслуживает отдельной статьи. Так и поступим и начнем с компоновки готовых блоков.