赞
踩
Android中的资源是指可以在代码中使用的外部文件,这些文件作为应用程序的一部分,被编译到应用程序中。在Android中,各种资源都被保存到Android应用的res目录下对应的子目录中,这些资源既可以在Java文件中使用,也可以在其他XML资源文件中使用。
一、字符串(string)资源
二、颜色(color)资源
三、尺寸(dimen)资源
1.Android支持的尺寸单元
①px
②in
③pt
④dip或dp
⑤sp
⑥mm
四、布局(Layout)资源
五、数组(array)资源
1.定义数组资源
数组资源文件位于res\values目录下,根元素是<resources></resources>标记,在该元素中,包括以下3个子元素。
①<array>
②<integer-array>
③<string-array>
无论使用上面3个子元素中的哪一个,都可以使用name属性定义数组名称,并且在起始标记和结束标记中间使用<item></item>标记数组中的元素。
六、Drawable资源
Drawable资源是Android应用中使用最广泛、灵活的资源。它不仅可以直接使用图片作为资源,而且可以使用多种XML文件作为资源,只要XML文件可以被系统编译成Drawable子类的对象,那么XML文件就可以作为Drawable资源。
1.图片资源
2.StateListDrawable资源
StateListDrawable资源是定义在XML文件中的Drawable对象,能根据状态来呈现不同的图像。
StateListDrawable资源文件同图片资源一样,也放在res\drawable目录中。StateListDrawable资源文件的根元素为<selector></selector>,在该元素中可以包括多个<item></item>元素。每个 item元素可以设置以下两个属性。
①android:color或android:drawable:用于指定颜色或Drawable资源。
②android:state_xxx:用于指定一个特定的状态,常用的状态属性如下:
android:state_active:
android:state_checked:
android:state_enabled:
android:state_first:
android:state_focused:
android:state_last:
android:state_middle:
android:state_pressed:
android:state_window_focused:
eg.
<?xml version="1.0" en=coding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="#f60" android:state_focused="true"/>
<item android:color="#0a0" android:state_focused="false"/>
</selector>
七、样式(style)和主题(theme)资源
在Android中,提供了用于对Android应用进行美化的样式和主题资源,使用这些资源可以开发出各种风格的Android应用。
1.样式资源
样式资源主要用于对组件的显示样式进行控制,如改变文本框显示文字的大小和颜色等。样式资源文件放置在res\values目录中,其根元素是<resources></resources>标记,在该元素中,使用<style></style>标记定义样式,其中,通过为<style></style>标记设置name属性来指定样式的名称;在起始标记<style>和结束标记</style>中间添加<itme></item>标记来定义格式项,在一个<style></style>标记中,可以包括多个<item></item>标记。
<resources>
<style name="title">
<item name="android:textSize">48px</item>
<item name="android:textColor">#f60</item>
</style>
<.resources>
在Android中,还支持继承样式的功能,只需要在<style></style>标记中使用parent属性进行设置即可。
<resources>
<style name="basic">
<item name="android:textSize">48px</item>
<item name="android:textColor">#f60</item>
</style>
<style name="title" parent="basic">
<item name="android:padding">10px</item>
<item name="android:gravity">center</item>
</style>
<resources>
说明:当一个样式继承另一个样式后,如果在该子样式中,出现了与父样式相同的属性,将用子样式中定义的属性值。
2.主题资源
主题资源与样式资源类似,定义主题资源文件也是保存在res\values目录中,其根元素同样是<resources></resources>标记,在该标记中,也是是使用<style></style>标记定义主题。所不同的是,主题资源不能作用于单个的View组件,而是对所有(或单个)Activty起作用。通常情况下,主题中定义的格式都是为改变窗口外观而设置的。
<resources>
<style name="bg">
<item name="androidwindowBackground">@drawable/background</item>
</style>
</resources>
eg.背景半透明效果的Activity
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style>
<item name="android:alpha">0.95</item>
<item name="android:windowNoTitle">true</item>
</style>
</resources>
注:android:alpha属性用于设置透明度,其属性值为浮点型,0.0表示完全透明,1.0表示完全不透明。
八、原始XML资源
这里所说的原始XML资源,是指一份格式良好的、没有特殊要求的普通XML文件。它一般保存在res\xml目录(需手动创建),通过Resources.getXml()方法来访问。
九、菜单(menu)资源
十、Android程序国际化
在编写Android项目时,通常都是将程序中需要使用的字符串资源放置在res\values目录下的string.xml文件中,为了实现这些字符串资源的国际化,可以在Android项目的res目录下创建对应于各个语言的资源文件夹(例如,为了让程序兼容简体中文、繁体中文和美式英文,可以分别创建名称为values-zh-rCN、values-zh-rTW和values-en-rUS的文件夹),然后在每个文件夹中创建一个对应的string.xml文件,并在该文件中定义对应语言的字符串即可。这样,当程序运行时,就会自动根据操作系统所使用的语言来显示对应的字符串信息。
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。