博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android 资源种类及使用
阅读量:5748 次
发布时间:2019-06-18

本文共 2946 字,大约阅读时间需要 9 分钟。

hot3.png

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

转载于:https://my.oschina.net/wallenheng/blog/201218

你可能感兴趣的文章
从JDK源码看Writer
查看>>
Express 结合 Webpack 实现HMRwi
查看>>
SQL模糊查询通配符_和%处理
查看>>
ssl免费申请
查看>>
我的友情链接
查看>>
mysql优化的相关知识
查看>>
基于protobuf的RPC实现
查看>>
ehcache 常用参数
查看>>
坚信每个人都能成为品牌
查看>>
Java语言的基础知识3
查看>>
JAVA的对象复制
查看>>
jquery要怎么写才能速度最快?(转)
查看>>
cisco设备IOS上传、备份、设置启动IOS
查看>>
打开Office报错
查看>>
我的友情链接
查看>>
Idea+Centos+hadoop-2.7.3源码环境搭建
查看>>
AsyncTask简易使用
查看>>
关于PHP sessions的超时设置
查看>>
HAProxy负载均衡原理及企业级实例部署haproxy集群
查看>>
vCloud Automation Center (vCAC) 6.0 (二)
查看>>