Android Studio 入门(六) 对项目res资源文件的进一步解读
如果你展开res目录看一下,其实里面的东西还是挺多的,很容易让人看得眼花缭乱,入下图所示:
看到这么多的子目录也不用害怕,其实归纳一下,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">Hello world123</string> </resources> 复制代码
可以看到,这里定义了一个应用程序名的字符串,我们有以下两种方式来引用它。
在代码中通过R.string.app_name可以获得该字符串的引用。
在XML中通过@string/app_name可以获得该字符串的引用。
基本的语法就是上面这两种方式,其中string部分是可以替换的,如果是引用的图片资源就可以替换成drawable,如果是引用的应用图标就可以替换成mipmap,如果是引用的布文件就可以替换成layout,以此类推。
下面举一个简单的例子来帮助你理解,打开AndroidManifest.xml文件,找到如下代码:
HelloWorld项目的应用图标就是通过android:icon属性指定的
应用的名称则是通过android:label属性指定的。
可以看到,这里对资源引用的方式正是我们刚刚学的在XML中引用资源的语法。
作者:Javen_cpdd
链接:https://juejin.cn/post/7038229259835408415
伪原创工具 SEO网站优化 https://www.237it.com/