任何人都可以解释Android XML属性中的问号含义吗?
<TextView
style="?android:attr/windowTitleStyle"
More attributes
/>
答案 0 :(得分:119)
问号表示它是对当前应用主题中的资源值的引用。有关详情,请参阅linuxtopia Android Dev Guide或android.com Dev Guide。
\?
逃脱了问号。
答案 1 :(得分:33)
?允许您引用样式属性而不是特定的硬编码资源。有关详细信息,请参阅Android开发指南中的"Referencing style attributes"。
那么,这实际上有用吗?在考虑包含相同自定义资源属性的多个主题时,这是最有意义的。
假设您有与MyThemeTransformers和MyThemeHobbit等电影相关的主题,并且都有一个名为 movieIcon 的属性。并且movieIcon属性指向不同的@drawable资源,比如每个主题定义中的robot.png或hobbit.png。
您可以参考&#34; ?attr / movieIcon &#34;主题生效的任何地方(例如在工具栏或对话框或任何类型的View布局中),当您在主题之间切换时,它将自动指向正确的drawable。您不需要任何与主题相关的逻辑来使用不同的drawable。您只需为每个主题定义movieIcon属性,Android框架将处理其余主题。