一、问题描述
有时候在代码中,看到如下代码:
android:textColor="?android:textColorSecondary"
就会有如下疑问:
1、textColor不是需要一个颜色值吗?
2、?android:textColorSecondary是什么意思呢?
二、解决问题
查看Android的文档,http://developer.android.com/guide/topics/resources/accessing-resources.html,里面有关于引用样式属性的介绍。
它的语法是这样的:
?[<package_name>:][<resource_type>/]<resource_name>
?指明这边应用的是样式属性,resource_type为attr,通常可以省略,因为通过前面的?,系统可以自动识别出attr。
(其中,attr是Android默认定义的属性,包括android:background等属性,都在R.attr中定义。当然,你也可以定义自己的属性名。)
所以,上面的textColor指向了另外一个属性android:textColorSecondary,如果你查看apk使用的主题源码,应该会找到android:textColorSecondary定义为一个颜色值。