资源 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)

保存后,桌面上的应用名称就会变成”北盟网校”。

步骤 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。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注