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

时间:2021-05-22

在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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章