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 &amp;lt;i&gt;%3$s &amp;lt/i&gt;.</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资源文件【转】的更多相关文章

  1. Android资源文件简介

    Android资源文件简介 1. Android应用资源的作用 (1) Android项目中文件分类 在Android工程中, 文件主要分为下面几类 : 界面布局文件, Java src源文件, 资源 ...

  2. 【转】关于Android资源文件中出现百分号的问题

    关于Android资源文件中出现百分号的问题 分类: Android JAVA2014-08-01 16:53 1345人阅读 评论(0) 收藏 举报 ANDROID格式化资源文件   目录(?)[+ ...

  3. 【Android 应用开发】Android资源文件 - 使用资源存储字符串 颜色 尺寸 整型 布尔值 数组

    . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/19913755 . 一. Android资源文件简介 1 ...

  4. Android 资源文件命名与使用

    [推荐]资源文件需带模块前缀 [推荐]layout 文件的命名方式 Activity 的 layout 以 module_activity 开头 Fragment 的 layout 以 module_ ...

  5. Android资源文件 - 使用资源存储字符串 颜色 尺寸 整型 布尔值 数组

    一. Android资源文件简介 1. Android应用资源的作用 (1) Android项目中文件分类 在Android工程中, 文件主要分为下面几类 : 界面布局文件, Java src源文件, ...

  6. Android资源文件说明

    一. Android资源文件简介 1. Android应用资源的作用 (1) Android项目中文件分类 在Android工程中, 文件主要分为下面几类 : 界面布局文件, Java src源文件, ...

  7. android 资源文件

    系统文档:http://developer.android.com/guide/topics/resources/available-resources.html 1. 系统下资源文件夹的名字是固定的 ...

  8. [置顶] Android资源文件分析

    1)修改开机默认壁纸 Android开机默认资源文件为:frameworks/base/core/res/res/values/config.xml 我们找到wallpaper行: <strin ...

  9. 003.android资源文件剖析(Resources)

    android的资源文件使用的重要性,不言而喻.让我们从潜到深逐渐来了解吧. 一:android的基本资源: 1.字符串资源 android的资源文件保存在:res\values\ 2.布局资源 an ...

随机推荐

  1. Compiling Qt 5.5.1 (With Qtwebkit) With Visual Studio 2015

    I usually avoid writing articles about building a specific version of a software project but this ti ...

  2. 基本的Logstash 例子

    基本的Logstash 例子: 为了测试你的Logstash 安装,运行最基本的Logstash 管道: cd logstash-2.3.0 bin/logstash -e 'input { stdi ...

  3. Android 捕捉HOME键

    @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_HO ...

  4. Euro Efficiency(完全背包)

    Euro Efficiency Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 20000/10000K (Java/Other) Tot ...

  5. C# 如何利用反射来加载程序集,并调用程序集中有关类的方法【转】

    假设在C盘根目录下有个Dog的Dll程序集文件,该程序集文件中包含类Dog 该类中有个狗叫几声的方法,如何通过反射来加载这个C:\Dog.dll,并且调用Dog类里面的Sound方法呢: public ...

  6. Twitter 新一代流处理利器——Heron 论文笔记之Heron架构

    Twitter 新一代流处理利器--Heron 论文笔记之Heron架构 标签(空格分隔): Streaming-process realtime-process Heron Architecture ...

  7. 【每天一个Linux命令】13. Linux中whereis命令的用法

      命令用途 whereis命令用来查找命令的位置,包括执行文件.源代码和手册页文件 命令用法 1. 查找指定命令<command>的位置,包括执行文件.源代码和手册页文件 格式:wher ...

  8. JavaScript字符串插入、删除、替换函数

    JavaScript字符串插入.删除.替换函数 说明: 以下函数中前两个函数取出查找字符串的前一部分和后一部分,以用于其他函数.注意,调用一次 replaceString(mainStr,search ...

  9. sql中int字段实现百分比

    首先: 用col*1.00 把int字段隐式转换成decimal类型. 然后: 用 round(col,2)来截取前两个小数前的数据 最后: 用 CONVERT(FLOAT,decimalNum)来转 ...

  10. html系列教程--p param progress rp rt ruby script select small source

    <p> 标签:用户段落划分或折行的标签 <param> 标签:param 元素允许您为插入 XHTML 文档的对象规定 run-time 设置,也就是说,此标签可为包含它的 & ...