在 XML 檔案中引用資源的文法如下:
1) @[package:]type/name使用我們自己包下的資源可以省略 package。
在 xml 檔案中,如 main.xml 以及AndroidMainfest.xml 檔案中通過“@drawable/icon”的方式擷取。
其中“@”代表的是R.java 類,“drawable”代表 R.java 中的靜态内部類“drawable”,“/icon”代表靜态内部類“drawable”中的靜态屬性“icon”。
而該屬性可以指向 res 目錄下的“drawable-*dpi”中的 icon.png 圖示。其他類型的檔案也比較類似 。
凡是在R檔案中定義的資源都可以通過“ @Static_inner_classes_name/resourse_name”的方式擷取。如“@id/button”,“@string/app_name”。
2) 如果通路的是 Android 系統中帶的檔案,則要添上包名“android:”。
如android:textColor=”@android:color/red” 。
3) 引用主題屬性
另外一種資源值允許你引用目前主題中的屬性的值。這個屬性值隻能在樣式資源和 XML 屬
性中使用;它允許你通過将它們改變為目前主題提供的标準變化來改變 UI 元素的外觀,而不
是提供具體的值。
android:textColor=”?android:textDisabledColor”
注意,這和資源引用非常類似,除了我們使用一個”?”字首代替了”@”。當你使用這個标記
時,你就提供了屬性資源的名稱,它将會在主題中被查找–因為資源工具知道需要的屬性資
源 , 是以你不需要顯示聲明這個類型 ( 如 果 聲 明 , 其 形 式 就
是?android:attr/android:textDisabledColor)。
除了使用這個資源的辨別符來查詢主題中的值代替原始的資源,其命名文法和”@”形式一緻:?[namespace:]type/name,這裡類型
可選。
“@+id/string_name”表達式 順便說一下,在布局檔案當中我們需要為一些元件添加 Id 屬性作為标示,可以使 用如下的表達式“@+id/string_name” 其中“+”表示在 R.java 的名為 id 的内部類中添加一條記錄。如”@+id/button”的含義是在 R.java 檔案中的 id 這個靜态内部類添加一條常量名為 button,該常量就是該資源的辨別符。如果 id 這個靜态内部類不存在,則會先生成它。 通過該方式生成的資源辨別符,仍然可以以“@id/string_name”的方式引用。