“@”符号

“@”表示引用资源,声明这是一个资源引用,格式为:@[package:]type/name

举例

比如引用string资源:

  • android:text = “@android:string/title”表示引用android系统里面名为title的字符串
  • android:text = “@string/title”表明引用应用内部的字符串

注意

android的资源type格式有:string,dimen,drawable,layout,color,anim,animator,mipmap,raw,id,style,attr,array等

对于id, 可以用@+id表明创建一个id

“?”符号

“?”表示引用主题属性,格式为:?[namespace:]type/name,当您使用这个标记,你所提供的资源名必须能够在主题属性中找到,

举例

 android:background="?attr/colorPrimary"

从AndroidManifest.xml里面找到应用的主题为:

android:theme="@style/AppTheme"

在AppTheme主题里面定义了colorPrimary属性: