9

我找不到有关以下差异的任何信息:

android:textColor="?attr/colorPrimary"

对比

android:textColor="?colorPrimary"

我读过“?attr”表示当前主题中指定的属性值,但没有“attr”它会给出相同的结果(=我的主题中定义的颜色)。它的行为与其他属性相似吗?

例如:

是否android:background="?attr/selectableItemBackground" 等于android:background="?selectableItemBackground"

在这里它被告知它不同。

非常感谢。

4

1 回答 1

5

好的,我终于在文档中找到了:

因为系统资源工具知道在此上下文中需要属性资源,所以您无需显式声明类型(应为 ?android:attr/textColorSecondary)——您可以排除 attr 类型。

所以,我推断它是这样的:AppCompat 库属性被视为自定义属性,因此我们用不带“android”关键字的问号指向它们。“attr”是平台和自定义属性(来自文档)的可选资源类型。 安卓文档

于 2017-06-06T15:41:57.460 回答