天天看點

android 如何引用資源檔案,Android XML 檔案中引用資源的方法

在 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”的方式引用。