Android XML文件中的@、?、@+的该怎么理解?
程序员文章站
2023-11-12 13:46:46
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