ANDROID资源文件
来源:互联网 发布:org.apache.http下载 编辑:程序博客网 时间:2024/05/16 10:14
ANDROID资源文件
分类: ANDROID教程 2011-06-10 11:13 201人阅读 评论(0) 收藏 举报
1、 资源包括:文本字符串、图像和图标、音频文件、视频和其他应用程序使用的组件。
2、 在Android工程中,Android资源文件是同Java类文件分开存储的,大多数常见的资源类型存储在XML中。你也可以将原始数据文件和图形作为资源来存储。
3、 Eclipse下默认的Android资源目录
资源子目录
说明
/res/drawable
图形资源
/res/layout
用户界面资源,Widget
/res/values
简单数据,如字符串、颜色值
说明:当你向工程资源目录/res中加入新的资源时,插件将会探测到并自动使用AAPT工具在后台编译这一资源,以便能在应用程序中访问它。
4、 资源文件的类型
资源文件存储在Android工程的/res目录下,并且严格(理由充分时可以更改)存储于各自的子目录和文件中。资源文件的名称必须为小写且要求简单(仅由字母、数字和下划线构成)
资源类型
所需目录
文件名
适合的关键XML元素
字符串
/res/values/
strings.xml
<string>
字符串数组
/res/values/
arrays.xml
<string-array>
颜色值
/res/values/
colors.xml
<color>
尺寸
/res/values/
dimens.xml
<dimen>
简单Drawable图形
/res/values/
drawables.xml
<drawable>
位图图像
/res/drawable/
例如:img.png、img.jpg、等
支持的图形文件或xml文件定义的drawable图形
动画序列(补间)
/res/anim/
如:fancy_animl.xml、
more_options.xml
<set><alpha><scale>
<translate><rotate>
菜单文件
/res/menu/
如、my_menu1.xml
<menu>
XML文件
/res/xml/
如、some.xml
由开发人员自己定义
原始文件
/res/raw/
如、some_audio.mp3
main_video.mp4、some_text.txt
布局文件
/res/layout/
如、start_screen.xml
多种定义
样式和主题
/res/values/
styles.xml、themes.xml
<style>
注意:某些资源文件,如:动画文件和图形,是根据它们自己的文件名来引用的,所以要适当地对它们进行命名。R.drawable.flag
5、 存储不同的资源文件时,需要注意事项:
1> 存储String类型的文件。每一个xml文件都要包含:
<?xml version="1.0" encoding="utf-8"?>
<resources>
里面可以是:<string>、<color>等
</resources>
2> 存储图形、动画、菜单和文件
可以图形、动画、菜单、文件任意的xml文件和原始文件作为资源来存储,这些资源不存储在/res/values/下,而是存储在不同的文件夹下。
6、 引用资源文件
String myString = getResources().getString(R.string.string标签标签name属性的名字);
int myColor = getResources().getColor(R.color.color标签name属性的名字);
float myDimen = getResources().getDimension(R.dimen.dimen标签name属性的名字);
1> 使用String(字符串)的资源
在xml文件中使用String资源时,在包含撇号或单引号的字符串需要进行转移或使用双引号括起来。
strings.xml格式如下
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, MainActivity!</string>
<string name="app_name">开始学习Android知识</string>
</resources>
(1)、对于字符串资源,可以加入三种具有HTML风格的属性:<b>、<i>、<u>分别表示加粗、斜线和下划线。
<string name="txt"><b>加粗</b>,<i>斜线</i>、<u>下划线</u></string>
(2)、使用格式化的字符串
创建带有格式化的字符串,但是你需要 加粗、斜体和下划线进行转义。
<string name="winLose">Score:%1$d of %2$d! You %3$d.</string>
<string name="winLoseStyled">Score: %1$d of %2$d ! you <i>%3$s & lt/i>.</string>
引用:
使用下面的格式的格式会将HTML风格属性从字符串中被剔除
String myStrHello = getResources().getString(R.string.txt);
CharSequence myBoldStr = getResources().getText(R.string.hello);
载入一个格式化得字符串(需要确保所有的格式变量都已经被转义):
String resultText = String.format(myStrHello, 5,5,escapeWin);
在Activity中引用字符串数组:
strings.xml文件中的内容:
<string-array name="flavors">
<item>Vanilla</item>
<item>Chocolate</item>
<item>Strawberry</item>
</string-array>
Activity中的代码:String aFlavors[] = getResources().getStringArray(R.array.flavors);
2> 使用颜色(RGB颜色值)
RGB颜色值始终以”#”开头,另外可以给出alpha控制透明度,
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="text_color">#F00</color>
</resources>
颜色资源事实上是一个整数。
3> 使用尺寸
测量单位
说明
所需的资源标记
示例
像素
实际的屏幕像素
px
20px
英寸
物理测量单位
in
2in
毫米
物理测量单位
mm
2mm
点
普通字体测量单位
pt
14pt
密度独立像素(density-independent pixels)
相对于160dpi屏幕的像素
dp
2dp
比例独立像素(scale-independent pixels)
对于字体显示的测量
sp
14sp
注意:英寸是长度单位。1 英寸= 2.539999918 厘米(公分)。
尺寸资源实际上是最简单的浮点值。
float myDimen = getResources().getDimension(R.dimen.dimen标签name属性的名字);
4> 使用简单的Drawable资源
使用Drawable资源类指定一个简单的带颜色矩形。
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<drawable name="red_rect">#F00</drawable>
</resources>
引用:
ColorDrawable myDraw = (ColorDrawable)getResources().getDrawable(R.drawable.red_rect);
5> 使用图像
支持的图像
说明
扩展名
便携式网络图像
推荐的格式(无损)
.png
9格拉伸图像
推荐的格式(无损)
.9.png
联合图像专家组
可接受的格式(有损)
.jpg .jpeg
图形交换格式
不鼓励的格式
.gif
(1) 使用9格拉伸图像
手机屏幕拥有各种不同的尺寸,想象一个可以根据不同的屏幕尺寸和方向或者不同长度的文字调整大小的图像。它是非常方便而适用。
使用步骤:
A、运行 Android SDK Tools --àdraw9patch.bat文件
B、将一个png文件拖入左侧的面板中
C、选中左侧底部的Show patches【斑点】
D、将Patch scale设置为合适的值(比能够看见标记结果值稍大)
E、沿着图像的右边沿单击,以设置水平“格”引导
F、沿着图像的上边沿单击,以设置垂直“格”引导
G、在右侧面板中查看结果,移动“格”导引知道图像按照预期的结果进行拉伸。
H、要删除一个“格”导引,按住“Shift”键在导引的像素(黑色)上点击即可。
I、.9.png为扩展名保存图像。
(2)通过程序引用
图像资源(BitmapDrawable):通过ID即可设定用户界面Widget的属性。
A、如果你把flag.png放入/res/drawable目录中,并且向主布局中加入ImageView Widget
ImageView flagImageView = (ImageView)findViewById(R.id.imageView01);
flagImageView.setImageResource(R.drawable.icon);
B、直接访问BitmapDrawable对象
BitmapDrawable bitmapFlag = (BitmapDrawable)getResources().getDrawable(R.drawable.icon);
int iBitmapHeightInPixels = bitmapFlag.getIntrinsicHeight();
int iBitmapWidthInPixels = bitmapFlag.getIntrinsicWidth();
C、使用九格图像
调用getDrawable方法返回一个NinePatchDrawable对象。
和BitmapDrawable使用类似
6> 使用菜单
- Android资源文件
- Android资源文件
- Android资源文件
- android资源文件
- android资源文件找不到
- android 资源文件详解
- android xml资源文件
- 六、ANDROID资源文件
- Android 读取资源文件
- android 读取资源文件
- android 资源文件
- Android资源文件
- Android资源文件
- Android资源文件
- android资源文件学习
- Android 资源文件分布
- Android资源文件
- Android资源文件
- 学海泛舟系列文章开篇语
- 对话框,布局管理器 http://rd.189works.com/article-53531-1.html
- 【Lucene3.6.2入门系列】第04节_中文分词器
- 关于4Ps、4Cs、4Rs、4Vs营销策略的内容及优劣比较
- [转]Grails和 Spring
- ANDROID资源文件
- JAVA eclipse 最全快捷键
- 计算几何
- 面试集锦(链接地址)
- sdjzu 1078
- 《海量数据库解决方案》表的存储结构读后感
- uva 321
- POJ 3268 最短路
- ASIHTTPRequest 封装