Android的XML属性中的问号(?)

时间:2010-04-28 23:54:01

标签: android xml android-styles

任何人都可以解释Android XML属性中的问号含义吗?

<TextView    
    style="?android:attr/windowTitleStyle"
    More attributes
/>

2 个答案:

答案 0 :(得分:119)

问号表示它是对当前应用主题中的资源值的引用。有关详情,请参阅linuxtopia Android Dev Guideandroid.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框架将处理其余主题。