Android常用的几种资源
一般资源都是放在res文件夹下的,res文件夹一般包含有values,drawable-ldpi、drawabel-mdpi、drawabel-hdpi和layout等子文件夹;drawable资源文件夹使用3种不同的图标,分别对应低、中、高三种密度的显示屏。
Values文件夹下一般放一些简单值。Android支持的简单值一般包括 字符串、颜色、尺寸和字符串数组或者整形数组。他们都放在一个xml文件里。
字符串:<string name="hello">Hello World</string>
Android还支持简单的文本样式,所以可以使用HTML标签<b><i><u>来让文本字符串变为粗体、斜体活带有下滑线。
Example:<string name="hello"> <b>Hello World <b> </string>
但为String.format方法输入参数时可以使用字符串。但是String.format不支持上面描述的文本样式。为了对一个格式化字符串使用样式时,需要在创建资源的时候转义HTML标签:
Example:<string name="hello"> < b > Hello World < b > </string>
在代码内,可以使用Html.fromHtml方法把这些字符串转换回样式字符串序列;
String rString = getString(R.string.hello);
String fString = String.format(rString,”Collaborate and listen”);
CharSequence styledString = Html.fromHtml(fString);
还可以定义String 数组:
Example:<string name="hello"> < b > Hello World < b > </string>
还可以为字符串定义复数形式。这个适合外语,比如英语里面: 一首歌:one song ,超过一首的要使用复数:two songs ,这是就要用到复数资源<plurals>
Example:<plurals name="songCount">
<item quantity="one">one song</item>
<item quantity="other">%d songs</item>
</plurals>
在代码中:
int count =3; //要表示的数量
String songcount =
getResources().getQuantityString(R.plurals.songCount, count, count);//计数要传入两次,一次是返回正确的复数字符串,一次是作为输出的
得到的结果 songcount = 3 songs;
关于<plurals>跟详细参看:http://developer.android.com/guide/topics/resources/string-resource.html#Plurals
颜色:使用color标签定义一种的新的颜色资源。使用#符号来指定颜色值。其后跟一个可选的Alpha通道,在之后使用一个或者两个十六进制值表示红、绿、蓝 值;
Example:
#RGB
#RRGGBB
#ARGB
#AARRGGBB
尺寸:可以使用<dimen> 标签来指定尺寸的值。
尺寸单位:
px(屏幕像素)
in(物理英寸)
pt(物理点)
mm(物理毫米)
dp(非密度制约的像素)(建议使用)
样式 和 主题
要建一个样式使用style标签,包含一个name属性一个或多个item标签。每一个item 标签都应该包含一个name属性来指定要定义的属性,然后标签本身应该包含值。
<resources>
<style name="CustomText">
<item name="android:textSize">20sp</item>
<item name="android:textColor">#008</item>
</style>
</resources>
样式支持通过style标签上使用parent 属性 来进行继承,从而使创建简单的变体形式变得简单。
<resources>
<style name="CustomText" parent="@style/Text">
<item name="android:textSize">20sp</item>
<item name="android:textColor">#008</item>
</style>
</resources>
关于其它资源drawable、布局、动画等都挺简单,若要了解请查看
http://developer.android.com/guide/topics/resources/available-resources.html