Ответ 1
Формат reference
используется, когда атрибут ссылается на другой идентификатор ресурса. Например:
<!-- Declaration -->
<attr name="mydrawale" format="reference" />
<!-- Usage -->
app:mydrawable="@drawable/shape1"
Итак, такие ресурсы, как @layout/...
, @color/...
, @style/...
относятся к типу reference
. Однако форматы атрибутов, такие как color
, boolean
и т.д., Также требуют цветовых литералов (например, 0x00FF00
) и логических литералов (например, true
) соответственно.
В вашем случае spinnerDropDownItemStyle
- это атрибут, который получает ресурс, подобный @style/...
, который сам по себе является указателем на запись ресурса типа style.
Кстати, вы можете установить формат для нескольких типов, используя |
. Например, для следующего атрибута допустимы @color/mycolor
и 0x00FF00
.
<attr name="mycolor" format="reference|color" />