@cxm-2016
2016-09-22T09:07:58.000000Z
字数 1237
阅读 2176
android
no
Android中的应用资源可以分为两大类:
- 无法通过R类访问的原生资源,保存在/assets目录下
- 可以通过R类访问的资源文件,保存在/res目录下
目录 | 存放资源 |
---|---|
/res/animator/ | 定义属性动画的XML文件 |
/res/anim/ | 定义补间动画的XML文件 |
/res/color/ | 存放定义颜色列表的XML文件 |
/res/drawable/ | 1,存放位图文件;2,存放可以被编译为Drawable及其子类对象的XML文件 |
/res/layout/ | 存放定义布局的Xml文件 |
/res/menu/ | 存放定义的菜单资源Xml文件 |
/res/raw/ | 存放原生资源的目录,可以通过Resource对象的openRawResource(id)来获取资源的二进制流。但是建议将原生资源文件存放到/assets文件夹下,通过AssetManager访问这些资源 |
/res/values/ | 存放各种简单值的XML文件。 arrays.xml 数组资源 colors.xml 颜色值资源 dimens.xml 尺寸资源 strings.xml 字符串资源 styles.xml 样式资源 |
/res/xml/ | 原生XML文件,这里存放的XML文件不会被编译,通过Resource.getXML()方法访问 |
//从Drawable资源中加载图片,并设置为该窗口的背景
window.setBackgroundDrawableResource(R.drawable.bac)
//从String资源中获取指定的字符串资源,并设置该窗口的标题
window.setTitle(resources.getText(R.string.app_name))
我们可以不通过R类,直接使用Resources对象去获取资源
//获取String类型的字符串
var app_name = resources.getText(R.string.app_name)
//获取Drawable对象
var logo = resources.getDrawable(R.drawable.bac)
//获取数组
val array = resources.getIntArray(R.array.fibonacci)
数组arrays.xml表示如下
<resources>
<array name="fibonacci">
<item>1</item>
<item>1</item>
<item>2</item>
<item>3</item>
<item>5</item>
<item>8</item>
</array>
</resources>
。。。。。