一、res 目錄結構
res/ 目錄下依資源類型劃分了不同的子目錄:
| 目錄 | 用途 |
|---|---|
drawable | 存放一般圖片(如背景圖、插圖等) |
mipmap 開頭 | 存放應用程式圖示(Launcher Icon) |
values | 存放字串、樣式、顏色等 |
layout | 存放佈局檔案 |
二、為什麼有這麼多 mipmap 和 drawable 資料夾
為了適配不同解析度的裝置,Android 提供了多套目錄:
drawable-hdpi → 高解析度
drawable-xhdpi → 超高解析度
drawable-xxhdpi → 超超高解析度
drawable-xxxhdpi → 最高解析度
mipmap 同理,有 mipmap-hdpi、mipmap-xhdpi、mipmap-xxhdpi 等。
運作原理:開發時為同一張圖片準備不同解析度的版本,分別放入對應資料夾。應用程式執行時,系統會根據目前裝置的螢幕密度自動選擇最匹配的那套資源載入。
三、資源的引用方式
1. 字串資源
在 res/values/strings.xml 中定義:
<resources>
<string name="app_name">My Application</string>
</resources>Code language: HTML, XML (xml)
引用方式分兩種場景:
| 場景 | 引用格式 | 範例 |
|---|---|---|
| 在 XML 檔案中 | @string/app_name | android:text="@string/app_name" |
| 在 Java 程式碼中 | R.string.app_name | getString(R.string.app_name) |
2. 圖片和圖示引用
注意:XML 中不能直接使用 R.mipmap.xxx 這種 Java 語法!
| 資源類型 | XML 中引用 | Java 程式碼中引用 |
|---|---|---|
| 圖示(mipmap) | @mipmap/ic_launcher | R.mipmap.ic_launcher |
| 圖片(drawable) | @drawable/bg_image | R.drawable.bg_image |
| 佈局(layout) | — | R.layout.activity_main |
| 字串(string) | @string/app_name | R.string.app_name |
對比範例:

<!-- XML 中:用 @ 前綴 -->
android:icon="@mipmap/school"Code language: HTML, XML (xml)
// Java 中:用 R. 前綴
setContentView(R.layout.activity_main);Code language: JavaScript (javascript)
四、AndroidManifest.xml 中的資源引用
開啟 AndroidManifest.xml,application 標籤裡已經用到了多種資源引用:
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">Code language: HTML, XML (xml)
| 屬性 | 引用資源 | 作用 |
|---|---|---|
android:icon | @mipmap/ic_launcher | 應用程式圖示 |
android:label | @string/app_name | 應用程式名稱 |
android:roundIcon | @mipmap/ic_launcher_round | 圓形應用程式圖示 |
android:theme | @style/AppTheme | 應用程式主題 |
五、實作練習:修改應用程式名稱和圖示
步驟 1:修改應用程式名稱
開啟 res/values/strings.xml:
<resources>
<string name="app_name">FoxDevelop</string>
</resources>Code language: HTML, XML (xml)
儲存後,桌面上的應用程式名稱就會變成「FoxDevelop」。
步驟 2:準備圖示檔案
- 下載一個 PNG 格式的圖示

- 檔案名稱規則:不能使用橫槓
-,只能用底線_或小寫字母、數字- ✅
school_bell.png - ❌
school-bell.png
- ✅


步驟 3:放入對應目錄
將圖示檔案複製到 res/mipmap-xxhdpi/(或對應解析度的 mipmap 資料夾)中。
步驟 4:修改 AndroidManifest.xml
<application
android:icon="@mipmap/school_bell"
android:roundIcon="@mipmap/school_bell"
... >Code language: HTML, XML (xml)
步驟 5:重新執行
點擊 ▶ Run 按鈕,部署到模擬器。你會看到:
- 桌面上的應用程式名稱變成了「FoxDevelop」
- 應用程式圖示變成了你設定的
school_bell.png

六、總結
| 要點 | 說明 |
|---|---|
| 資源引用規則 | XML 用 @類型/名稱,Java 用 R.類型.名稱 |
| 多解析度適配 | 不同解析度圖片放不同資料夾,系統自動選擇 |
| 修改應用程式名稱 | 改 res/values/strings.xml 中的 app_name |
| 修改應用程式圖示 | 替換 mipmap 目錄下的 PNG 檔案,修改 AndroidManifest.xml 中的 android:icon |
| 檔案名稱規範 | 只能用小寫字母、數字、底線,不能用橫槓 |
一句話記住:XML 用
@,Java 用R.;圖示放 mipmap,圖片放 drawable,字串放 values。
資源 res 檔案和修改應用程式名稱與圖示
Previous: APP 是怎麼運行起來的