資源 res 檔案和修改應用程式名稱與圖示

一、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_nameandroid:text="@string/app_name"
在 Java 程式碼中R.string.app_namegetString(R.string.app_name)
2. 圖片和圖示引用

注意:XML 中不能直接使用 R.mipmap.xxx 這種 Java 語法!

資源類型XML 中引用Java 程式碼中引用
圖示(mipmap)@mipmap/ic_launcherR.mipmap.ic_launcher
圖片(drawable)@drawable/bg_imageR.drawable.bg_image
佈局(layout)—R.layout.activity_main
字串(string)@string/app_nameR.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 檔案和修改應用程式名稱與圖示

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *