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

谁能在Android XML属性中解释问号的意思吗?


<TextView    

    style="?android:attr/windowTitleStyle"

    More attributes

/>


慕容森
浏览 670回答 3
3回答

喵喵时光机

?使您可以引用样式属性而不是特定的硬编码资源。有关详细信息,请参见《 Android开发人员指南》中的“引用样式属性”。那么,这实际上有什么用呢?当考虑包含相同自定义资源属性的多个主题时,这是最有意义的。假设您有与电影相关的主题,例如MyThemeTransformers和MyThemeHobbit,并且都有一个名为movieIcon的属性。该movieIcon属性指向每个主题定义中的另一个@drawable资源,例如robot.png或hobbit.png。您可以在主题生效的任何地方(例如在工具栏或对话框或任何类型的View布局中)引用“ ?attr / movieIcon ”,当您在主题之间切换时,它将自动指向正确的可绘制对象。您不需要任何主题相关的逻辑即可使用不同的可绘制对象。您只需为每个主题定义movieIcon属性,其余部分就由Android框架负责。

婷婷同学_

我认为在考虑包含相同自定义资源属性的多个主题时,这是最有意义的。假设您有与电影相关的主题,例如MyThemeTransformers和MyThemeHobbit,并且都具有名为movieIcon的属性。movieIcon指向每个主题定义中的@drawable资源,例如机器人或霍比特人图像。您可以在主题生效的任何地方(例如在工具栏或对话框或任何类型的View布局中)引用“?attr / movieIcon”,并且当您在主题之间切换时,它将自动指向正确的可绘制对象。希望对您有所帮助。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android