閱讀目錄
- 介紹 R 文件的內容
- 介紹 通過 R 文件引用資源
一、R 文件的內容
在 Android Studio 中 R 文件位於 app -> build -> generated -> source -> r -> debug -> 包名 -> R
要注意幾點:
- R 文件的本質是一個 java 文件,文件為 R.java
- 該文件其實就是一個 public final class R{} 類,該類里面包含的全是以 public static final 開頭的內部類,在這些內部類中全是以 public static final int 開頭的屬性
- 在 Android Studio 中打開 R.java 文件,然后按 Ctrl + Shift + 減號鍵,可以看到 R.java 的總體內容
R 文件的內容(下面省略了部分代碼):
public final class R{ //全是以 publi static final 開頭的內部類 ... public static final class layout{...} public static final class id{...} public static final class drawable{...} public static final class mipmap{...} public static final class color{...} public static final class string{...} public static final class style{...} ... }
內部類 id 里面的內容(下面省略了部分代碼):
public static final class id{ //全是以 public static final int 開頭的屬性 ... public static final int button_1="0x7f070022"; public static final int button_2="0x7f070023"; public static final int button_3="0x7f070024"; ... }
[ 返回頂部 ]
二、通過 R 文件引用資源
在 xml 文件中引用資源
- @[package:]type/name,其中 package 表示包名,如果在同一個包內引用,則不需要寫包名,例如:@style/AppTheme
- @android:type/name,其中 android 表示引用 android 系統內部資源
在 java 文件中引用資源
- R.type.name,例如:R.layout.first_layout ,R.id.button_1
- android.R.type.name,其中 android 表示引用 android 系統內部資源
可以看到:
在 java 文件中引用資源時,直接對 R.java 文件中的內容進行調用,例如:R.id.button_1,表示調用 R 這個類下面的 id 這個內部類中的 button_1 屬性
在 xml 文件中 @ 符號表示調用 R.java 文件中的資源,舉個例子:@style/AppTheme 中的 @ 符號可以理解為 R這個類,而 style 表示 R 類中的 style 內部類,AppTheme 表示,style 內部類中的 AppTheme 屬性
[ 返回頂部 ]