Для начала кастомные атрибуты определяются в ресурсах элементом
<declare-styleable>
. Обычно для хранения атрибутов создается файл res/values/attrs.xml
. <declare-styleable name="ValidatableInput">
<attr name="label" />
<attr name="errorColor" format="color" />
</declare-styleable>
В примере выше заданы два кастомных атрибута
label
и errorColor
. Имя элемента стиля ValidatableInput
по конвенции соответствует имени кастомной view в котором этот стиль используется, но это не обязательное условие. После этого можно использовать созданные атрибуты в xml лэйаута. Атрибуты принадлежат кастомному неймспейсу
http://schemas.android.com/apk/res/[your package name]
, который импортируется параметром xmlns
в корневом лэйауте.<LinearLayout
xmlns:custom="http://schemas.android.com/apk/res/it.sobes">
<ru.itsobes.ValidatableInput
custom:label="Wrong Input"
custom:errorColor="@color/red" />
</LinearLayout>