Android 筆記之 R 檔案

來源:互聯網
上載者:User

標籤:rate   部分   ali   bug   map   roi   ext   pre   ref   

閱讀目錄
  • 介紹 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 屬性


[ 返回頂部 ]


Android 筆記之 R 檔案

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.