3
让我们先从一个例子意义
<attr name="spinnerDropDownItemStyle" format="reference" />
如何利用这个拆开,明白了吗?
我看了Android themes & styles demystified - Google I/O 2016多次谈话,我仍然不明白这个参考工具是如何工作的。
让我们先从一个例子意义
<attr name="spinnerDropDownItemStyle" format="reference" />
如何利用这个拆开,明白了吗?
我看了Android themes & styles demystified - Google I/O 2016多次谈话,我仍然不明白这个参考工具是如何工作的。
reference
当属性引用另一个资源ID时使用格式。例如,以下属性可以用来像:
<!-- 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" />
感谢您的解释。它有助于一些。 +1。您是否有可能帮我深入研究这个例子,并将其转化为他们使用的实际风格?我只想看到我的案例的完整示例,也许整个事情最终会点击。根据谈话的情况,当你深入钻研时,似乎会出现某种面向对象的恶作剧。我可以从你的例子中看到很多东西,但比较深入地参考引用的“风格”会有所帮助。 –
@NouvelTravay这是一个获取样式ID的属性(例如'@ style/mystyle')。此ID可以稍后用于设置下拉项目的风格。 –