编程开发

关注公众号 jb51net

关闭
软件教程 > 编程开发 >

Android XML文件中的@、?、@+的该怎么理解?

脚本之家

在android开发中,资源文件里总是会出现"@string/hello" 、“@android:color/darker_gray”、"@+id/title"、"?android:attr/textAppearanceSmall",那么这些究竟有什么不同呢?其实这些都是对资源的引用。

1、首先来看这种,@string/hello,这个的语法是:@[<package_name>:]<resource_type>/<resource_name>,其中包名是可选的,代表资源是你自己这个包中的,如下图中的例子

2、然后是“@android:color/darker_gray”,与上一个相比,它多了”android:“,语法是相同的,它代表引用的是系统资源。

3、"@+id/title",多了个加号,代表引用或创建,若不存在,则创建,若存在,则引用。

4、"?android:attr/textAppearanceSmall",语法是?[<package_name>:][<resource_type>/]<resource_name>,代表引用的是主题中的样式属性资源。

5、步骤四中的资源类型是可以省略的。可以这样写:?android:textAppearanceSmall