谁能解释Android XML属性中问号的含义?
<TextView
style="?android:attr/windowTitleStyle"
More attributes
/>
谁能解释Android XML属性中问号的含义?
<TextView
style="?android:attr/windowTitleStyle"
More attributes
/>
问号表示它是对当前应用主题中资源值的引用。有关更多信息,请参阅linuxtopia Android 开发指南或android.com 开发指南。
\?
转义问号。
这 ?允许您引用样式属性而不是特定的硬编码资源。有关详细信息,请参阅Android 开发指南中的“引用样式属性”。
那么,这实际上有什么用呢?在考虑包含相同自定义资源属性的多个主题时,这是最有意义的。
假设您有与电影相关的主题,例如 MyThemeTransformers 和 MyThemeHobbit,它们都有一个名为movieIcon的属性。在每个主题定义中,movieIcon 属性指向不同的@drawable 资源,比如robot.png 或hobbit.png。
您可以在主题生效的任何地方(例如在工具栏或对话框或任何类型的视图布局中)引用“ ?attr/movieIcon ”,当您在主题之间切换时,它将自动指向正确的drawable。您不需要任何与主题相关的逻辑来使用不同的可绘制对象。您只需为每个主题定义 movieIcon 属性,其余的由 Android 框架处理。