Определение атрибутов в attrs.xml:
Создается файл res/values/attrs.xml (или добавляется в существующий). В нем определяется <declare-styleable> с именем кастомного View и перечисляются <attr> для каждого пользовательского атрибута, указывая их формат (format).
xml
Использование атрибутов в XML-разметке:
В макете XML, где используется кастомный View, добавляются определенные атрибуты, используя пространство имен app.
xml
Чтение атрибутов в коде View:
В конструкторе кастомного View (обычно в том, который принимает Context и AttributeSet), используются классы TypedArray и obtainStyledAttributes для чтения значений атрибутов, указанных в XML.
kotlin
Метод obtainStyledAttributes возвращает TypedArray, из которого можно извлечь значения атрибутов по их индексам (генерируются R-классом). После использования необходимо вызвать метод recycle() для освобождения ресурсов.