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. Spring中常用的hql查询方法(getHibernateTemplate())

    一.find(String queryString); 示例:getHibernateTemplate().find("from bean.User"); 返回所有User对象 二 ...

  2. 图片文件,图片文件流和BASE64加密字符串之间的转换,以及图片的BASE64加密字符串再jsp上如何显示

    http://blog.csdn.net/sidongxue2/article/details/43036373

  3. SP_CreateInsertScript 将表内的数据全部拼接成INSERT字符串输出

    ),)) as begin set nocount on ) ) ) select @sqlstr='select ''insert '+@tablename select @sqlstr1='' s ...

  4. js获得url内的参数

    /** * js获得url内的参数 * 返回值: string or undefined * 使用方法:$_GET['from'] */ var $_GET = (function() { var s ...

  5. POJ2528线段树基础

    開始就直接用延迟标记搞了下.最后发现内存肯定会爆了.数据太大了. 问了瓜神,原来应该用离散化来做这题,详细见凝视 #include <cstdio> #include <cstrin ...

  6. iOS通知NSNotificationCenter

    NSNotificationCenter消息通信 作用:NSNotificationCenter是专门供程序中不同类间的消息通信而设置的. 注册通知:即要在什么地方接受消息 [[NSNotificat ...

  7. 又一个类dapper轮子:VIC.DataAccess

    DataAccess Author: Victor.X.Qu Email: fs7744@hotmail.com DataAccess is a c# project for sql data map ...

  8. Nginx 拒绝指定IP访问

    来源 : http://www.ttlsa.com/nginx/nginx-deny-ip-access/   闲来无事,登陆服务器,发现有个IP不断的猜测路径.试图往服务器上传文件(木马).于是查看 ...

  9. IIS怎么设置本地域名解析(本地域名测试配置)

    对于IIS相信大家都不陌生,可以用来作为网站服务器,可以解析网站内容,访问时可以用端口的方式访问,也可以用域名的方式访问.下面我就介绍一下,怎么在本地用域名的方式访问,怎么用IIS进行本地域名解析. ...

  10. Flink资料(2)-- 数据流容错机制

    数据流容错机制 该文档翻译自Data Streaming Fault Tolerance,文档描述flink在流式数据流图上的容错机制. ------------------------------- ...