当我尝试在activity_main.xml中使用某些资源时
while (i < 255)
我找到了一些我无法理解的东西。我知道&#34; android:&#34;当XML解析器读取文档时,表示系统级属性,&#34; attr&#34;表示我的主题中的属性(对吗?),但为什么有些属性应该添加包名称&#34; android:&#34;虽然有相同的属性?比如我可以像我这样在我的styles.xml中定义属性
android:minHeight="?android:actionBarSize"
android:background="?attr/colorPrimary"
但我也可以定义像
这样的属性 <item name="colorPrimaryDark">@color/purple</item>
我的英语非常糟糕,所以mybe我无法解释我想知道的事情。
答案 0 :(得分:0)
(来自this回答)
使用问号前缀ID表示您要访问样式主题中定义的样式属性,而不是对属性进行硬编码,如引用样式属性中所述。
更具体地说,?意味着额外的间接水平。可以将其视为取消引用主题属性以获取它指向的资源,而不是引用属性本身。您可以使用?android:attr/foo