Есть несколько способов:
Использование конструктора с набором атрибутов AttributeSet:
Это наиболее распространенный способ. В конструкторе View можно прочитать атрибуты из XML-разметки и применить их.
java
При определении пользовательского Layout в XML, можно использовать эти атрибуты:
xml
Инфлейтинг Layout внутри View: Если View состоит из нескольких других View, их можно инфлейтить из отдельного XML-файла макета внутри пользовательского View.
java
my_custom_layout.xml может выглядеть так:
xml
Затем этот пользовательский Layout MyCompositeView используется в другом XML-файле:
xml
Выбор метода зависит от сложности пользовательского View: для простых View с минимальным количеством элементов достаточно первого способа, для составных View с внутренней структурой более подходит второй.