Android XML文件中的@、?、@+的意義

在android開發中,資源文件裏總是會出現

Android XML文件中的@、?、@+的意義

"@string/hello"、“@android:color/darker_gray”、"@+id/title"、"?android:attr/textAppearanceSmall",那麼這些究竟有什麼不同呢?其實這些都是對資源的引用。

1、首先來看這種,@string/hello,這個的`語法是:@[:]/,其中包名是可選的,代表資源是你自己這個包中的,如下圖中的例子

2、然後是“@android:color/darker_gray”,與上一個相比,它多了”android:“,語法是相同的,它代表引用的是系統資源。

3、"@+id/title",多了個加號,代表引用或創建,若不存在,則創建,若存在,則引用。

4、"?android:attr/textAppearanceSmall",語法是?[:][/],代表引用的是主題中的樣式屬性資源。

5、步驟四中的資源類型是可以省略的。可以這樣寫:?android:textAppearanceSmall