Для чего нужен формат "reference|color"?
У атрибутов есть формат reference. Он может хранить любые ссылки по типу @layout/..., @color/... и так далее. Также есть формат color. Сначала я думал, что он может хранить только значения по типу #F44336. Но как оказалось атрибуты с данным форматом спокойно могут ссылаться на любые ссылки также как и атрибуты с форматом reference.
Иногда я вижу атрибуты, чей формат определен следующим образом:
<attr format="color|reference" name="actionMenuTextColor"/>
Вопрос: в чем смысл формата color|reference если по сути он делает тоже самое что и color (может ссылаться на ссылки + хранить такие значение как #F44336) ?
Ответы (1 шт):
В данном случае reference для возможности подставлять Color state list resource, а иногда Drawable resources (например android:background), зависит на самом деле, как это обрабатывается в коде. Если вы подставите что-то неподходящее, то будет краш