文档章节

android 资源种类及使用

宛珩国际
 宛珩国际
发布于 2014/02/19 15:43
字数 915
阅读 112
收藏 9

android 有很多种类的资源,有7个是在res下新建目录然后将资源放在目录下:res/values,res/xml,res/layout,res/drawable,res/anim,res/menu,res/raw

还有一种是存放在res同级的目录assets目录下,也就是说大体上android资源种类有8类。

    res/values : 存放字符串,颜色,尺寸,数组,主题,类型等资源。

    res/xml : 可以是任意类型的xml文件,这些xml文件可以在运行时读取

    res/layout:布局文件

    res/drawable:图片(bmp,png,gif,jpg等)

    res/anim: xml格式的动画资源  (帧动画 和 补间动画)

    res/menu:菜单资源

    res/raw:会封装在apk,但是不会被编译,可以放任意类型文件,一般存放比较大的音频,视频,图片,文档,会在R类  

    生成资源ID

    assets:可以存放任意类型,不会被编译,与raw相比,不会在R类中生成资源ID

各种资源的使用:

 使用系统资源:

android  sdk中 提供了大量的系统资源使用这些系统资源(sdk安装目录\platforms\android-2.2\data\res)

 通过android.R.resourceType.resourceId 的方式

resourceType表示资源类型:String,Color,Drawable等,resouceId表示资源Id

在代码中键入android.R.会显示系统定义的资源。

自己定义资源:

1.字符串资源(sring)

存放位置:res/values

存放方式:xml

存放示例:

<resources>

   <string name="hello">你好</string>

</resources>

使用:

a.在layout文件中 =" @string/hello"

b.代码中 Activity实例的getString()方法

2.数组资源:(array)

存放位置:res/values

存放方式:xml

存放示例:

<resource>

<string-array name="arrays">

<item>

北京

</item>

<item>

长沙

</item>

</string-array>

使用:

String[] arrays = Activity实例的gerResources).getStringArray(R.array.arrays);

注意:除了字符串数组资源外还有数字数组资源<integer-array>但是 每一项元素的值值整数

3.  颜色资源(color)

存放位置:res/values

存放方式:xml

存放示例:

<resources>

  <color name="blue_color">#0000FF</color>

</resources>

使用:

a.layout布局文件中

="@color/blue_color"

b.代码中

Activity实例的getResources().getColor(R.color.blue_color);

4.尺寸资源(dimension):

存放位置:res/values

存放方式:xml

存放示例:

<resource>

<dimen name="size_px">2px</dimen>

<dimen name="size_in">1.5in</dimen>

<dimen name="size_sp">30sp</dimen>

</resource>

使用:
a.layout布局文件中

="@dimen/size_px"

 b.代码中

Activity实例的getResouces().getDimension(R.dimen.size.in);

5.类型资源(style):

存放位置:res/values

存放方式:xml

存放示例:

<resource>

<style name="style1">

<item name="android:textSize">20dp </item>

<item name="android:textColor">#ffccff</item>

</style>

</resource>

使用:

style="@style/style1"

6.主题资源(theme):

存放位置:res/values

存放方式:xml

存放示例:

与style 类似

<resource>

<style name="theme1">

<item name="android:windowTitlesize" >20dp </item>

<item name="android:textColor">#ffccff</item>

</style>

</resource>

使用:

在Androidmanifest.xml文件中的<application>标签的或者<activity> 标签,android:theme = "@style/theme1"

7.绘画资源(drawable)

存放位置:res/drawable

存放方式:各种图片

使用:

a.layout布局文件中

="@drawable/img1";

b.代码中

Drawable drawable = getResources().getDrawable(R.drawable.img1);

8.RAW资源

存放位置:res/raw

存放方式:任意类型

使用:

InputStream  is= getResources().openRawResource(R.raw.test);

9.ASSETS资源

存放位置:与res同级的assets目录下

存放方式:任意类型

使用:

InputStream is= getAssets().open("test.txt");


其他备用资源目录

mccAAA:AAA是移动设备国家代码

mncAAA:AAA是运营商/网络代码

en-rUS:语言和区域。

small、normal、large、xlarge:屏幕大小

long、notlong:屏幕类型

port、land:纵向或横向

car、desk:扩展坞类型

night、notnight:晚上或白天

ldpi、mdpi、hdpi、xhdpi、nodpi:屏幕像素密度

notouch、stylus、finger:屏幕种类

keysexposed、keyssoft、keyshidden:键盘类型

nokeys、qwerty、12key:键数

navexposed、nachidden:隐藏或显示导航键

nonav、dpad、trackball、wheel:导航设备类型

v3、v4、v7:API级别

如:

\res\layout-mcc312-mnc222-en-rUS

\res\layout-ldpi

\res\layout-hdpi

\res\layout-car


© 著作权归作者所有

宛珩国际
粉丝 11
博文 55
码字总数 34028
作品 0
海淀
高级程序员
私信 提问
Android context(Application/Activity)与内存泄露

android中的context可以做很多操作,但是最主要的功能是加载和访问资源。 在android中有两种context,一种是 application context,一种是activity context,通常我们在各种类和方法间传递的...

晨曦之光
2012/03/01
180
0
Android context(Application/Activity)与内存泄露

android中的context可以做很多操作,但是最主要的功能是加载和访问资源。 在android中有两种context,一种是 application context,一种是activity context,通常我们在各种类和方法间传递的...

长平狐
2013/01/06
45
0
Android context(Application/Activity)与内存泄露

android中的context可以做很多操作,但是最主要的功能是加载和访问资源。 在android中有两种context,一种是 application context,一种是activity context,通常我们在各种类和方法间传递的...

鉴客
2012/03/09
158
0
Android context(Application/Activity)与内存泄露

android中的context可以做很多操作,但是最主要的功能是加载和访问资源。 在android中有两种context,一种是 application context,一种是activity context,通常我们在各种类和方法间传递的...

鉴客
2011/12/03
3.6K
4
Android Context 详解

Android中context可以作很多操作,但是最主要的功能是加载和访问资源。 在android中有两种context,一种是application context,一种是activity context,通常我们在各种类和方法间传递的是a...

长平狐
2013/01/06
5.6K
0

没有更多内容

加载失败,请刷新页面

加载更多

zk中选举Leader时的网络IO QuorumCnxManager解析

每台服务启动过程中,会启动一个QuorumCnxManager,负责各台服务器之间底层Leader选举过程中的网络通信 当集群中有服务器服务中断时,zk会重新选举leader 内部类 Message定义消息结构 包含了...

writeademo
14分钟前
2
0
使用mdBook 替代 gitbook。

###** 为什么要替代gitbook** gitbook 有个模板问题:如果md文件中有连续的大括号(比如:&{{父亲 40}}),gitbook会把{{ 父亲 40 }}中的父亲 40当做一个模板变量。如果这个变量不存在,会报...

王坤charlie
16分钟前
2
0
TL-A7HSAD采集卡硬件的处理器、NOR FLASH、DDR3

TL-A7HSAD是一款由广州创龙基于Xilinx Artix-7系列FPGA自主研发的高速数据采集卡,可配套广州创龙TMS320C6655、TMS320C6657、TMS320C6678开发板使用。该采集卡包含1个双通道250MSPS*12Bit的高...

Tronlong创龙
29分钟前
3
0
项目启动报fastjson版本可能过低

进行项目启动的过程中,之前都正常,这次启动突然就失败了: 查看日志说的是版本过低,后来查看官方网站版本,替换了最新版本: 选择了最新版本的1.2.60,1.2.62尝试后都不行,后来查看网上搜...

aiChuang
29分钟前
2
0
McDonald’s is using Alexa and Google to accepting job applications

McDonald’s today announced a new initiative the fast food chain is calling the “Apply Thru,” in which owners of Amazon Alexa or Google Assistant devices can begin job applic......

wowloop
33分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部