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