我找不到任何有关以下区别的信息:
android:textColor="?attr/colorPrimary"
VS
android:textColor="?colorPrimary"
我读过“?attr”表示当前主题中指定的属性值,但没有“attr”它会给出相同的结果(=我的主题中定义的颜色)。它的行为与其他属性相似?
例如:
android:background="?attr/selectableItemBackground"
等于android:background="?selectableItemBackground"
?
Here it's told that it differs.
非常感谢。
答案 0 :(得分:2)
好的,我终于在文档中找到了:
因为系统资源工具知道在此上下文中需要属性资源,所以您不需要显式声明该类型(可能是?android:attr / textColorSecondary) - 您可以排除attr类型。
所以,我推断它是这样的:AppCompat库属性被视为自定义属性,因此我们用一个没有“android”关键字的问号来指出它们。 “attr”是平台和自定义属性(来自docs)可选的资源类型。 Android documentation