接下来,我们详细的分析一下res这个目录,之前说到,这个文件夹是存放项目资源文件的,展开如下图所示:
所有以drawable开头的文件夹都是用来放图片的,所有以mipmap开头的文件夹都是用于存放应用图标的,所有以values开头的文件夹都是用于放字符串,样式,颜色等配置的,layout文件夹是用来放布局文件的。
之所以有这么多mipmap开头的文件夹,其实主要是为了让程序能够更好地兼容各种设备。 drawable文件夹也是相同的道理,虽然Android Studio没有帮我们自动生成,但是我们应该自己 创建drawable-hdpi、drawable-xhdpi、drawable-xxhdpi等文件夹。在制作程序的时候最好能够给同一张图片提供几个不同分辨率的版本,分别放在这些文件夹下,然后当程序运行的时候,会 自动根据当前运行设备分辨率的高低选择加载哪个文件夹下的图片。当然这只是理想情况,更 多的时候美工只会提供给我们一份图片,这时你就把所有图片都放在drawable-xxhdpi文件夹下就 好了。知道了res目录下每个文件夹的含义,我们再来看一下如何去使用这些资源吧。打开res/ values/strings.xml文件,内容如下所示:
<resources>
<string name="app_name">HelloWord</string>
</resources>
可以看到,这里定义了一个应用程序名的字符串,我们有以下两种方法来引用它
1.在代码中通过R.string.app_name
2.在xml中通过@string/app_name
基本的语法就是上面这两种方式,其中string 部分是可以替换的,如果是引用的图片资源就 可以替换成drawable ,如果是引用的应用图标就可以替换成mipmap ,如果是引用的布局文 件就可以替换成layout ,以此类推
下面举一个简单的例子来帮助你理解,打开AndroidManifest.xml文件,找到如下代码:
<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">
<activity android:name=".HelloWordActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
我们看到android:label="@string/app_name"就是引用的上面的字符串内容从而显示出程序名
经过本小节的学习,如果你想修改应用的图标或者名称,相信已经知道该怎么办了吧。