Android资源目录结构
android资源可以放在assets目录下,也可以放在res/目录下,而且该目录下面的资源文件的命名是需要遵循严格的规范的,否则在生成R.java时会报错误。
字符串常量资源
需要创建在res/values/文件夹里面,文件名可以随便取,一般命名为strings.xml,里面的xml定义格式为
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="你的字符串常量名">你的字符串常量值</string>
……
</resources>
在XML布局文件里使用上面定义的字符串常量:
android:text="@string/你的字符串常量名"
在java代码里使用上面定义的字符串常量:
getString(R.string.你的字符串常量名)(Activity的方法)
注意:假如你在values下创建了多个xml文件,而且里面都定义了一些string常量,系统会统一将这些字符串常量放到R.java里面的类string里,也就是说可以用R.string.你的字符串常量名找到所有定义的字符串常量
整数常量资源
需要创建在res/values/文件夹里面,文件名可以随便取,一般命名为integers.xml,里面的xml定义格式为
<?xml version="1.0" encoding="utf-8"?>
<resources>
<integer name="你的整数常量名">你的整数常量值</integer>
……
</resources>
在XML布局文件里使用上面定义的字符串常量:
android:text="@integer/你的整数常量名"
在java代码里使用上面定义的整数常量:
Resources res = getResources();//得到Resources对象
int i = res.getInteger(R.integer.你的整数常量名);//得到整数常量
注意:假如你在values下创建了多个xml文件,而且里面都定义了一些integer常量,系统会统一将这些字符串常量放到R.java里面的类integer里,也就是说可以用R.integer.你的整数常量名找到所有定义的整数常量
String Array资源
xml格式:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="你的字符串常量数组名">
<item>第一个数组元素值</item>
<item>第二个数组元素值</item>
……
</string-array>
……
</resources>
使用方法与上面一样,使用的是Resources的getStringArray(int id)方法
其它数组使用方法与上面类似
状态颜色列表资源
该资源需要放在res/color/目录下,可用于控制一个控件在不同状态下的颜色,如按钮在下压和释放时呈现不同的颜色
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="" /><!--下压时的颜色-->
<item android:color=""/> <!-- default -->
……
</selector>
android:textColor="@color/文件名"