Android中资源文件(非代码部分)的使用概览

所属分类: 网络编程 / JavaScript 阅读数: 169
收藏 0 赞 0 分享
Android中的资源访问
  Android中的资源是指非代码部分,指外部文件。
  assets中保存的一般是原生的文件,例如MP3文件,Android程序不能直接访问,必须通过AssetManager类以二进制流的形式来读取。
  res中的资源可以通过R资源类直接访问。
  R类是自动生成的,在该类中根据不同的资源类型生成了相应的内部类,该类包含了系统中使用到的所有资源文件的标识。

1.在代码中使用资源文件
  在代码中访问资源文件,是通过R类中定义的资源文件类型和资源文件名称来访问的。
  具体格式为:
  R.资源文件类型.资源文件名称
  另外,除了访问用户自定义的资源文件,还可以访问系统中的资源文件。
  访问系统中的资源文件的格式为:
  android.R. 资源文件类型.资源文件名称

2.在其他资源文件中引用资源文件
  经常会在布局文件中引用图片、颜色资源、字符串资源和尺寸资源。
  在其他资源中引用资源的一般格式是:
  @[包名称:]资源类型/资源名称

使用颜色资源
  颜色值定义的开始时一个#号,后面是Alpha-RGB的格式。
  例如:
  #RGB
  #ARGB
  #RRGGBB
  #AARRGGBB
  引用资源格式:
  Java代码中:R.color.color_name
  XML文件中:@[package:]color/color_name
  使用时在res\values\目录下,定义一个colors.xml文件,里面存放颜色名字和颜色值的键值对。
  如:
复制代码 代码如下:

<resources>
<color name="red_bg">#f00</color>
<color name="blue_text">#0000ff</color>
</resources>

  其他资源如字符串、尺寸都是类似的方法。

使用字符串资源
  创建字符串资源文件strings.xml.里面内容也是键值对
  在Java代码中引用字符串资源R.string.string_name
  可如下取得:
  String str = getString(R.string.string_name).toString();
  在xml文件中引用字符串资源:@[package:]string/string_name

使用尺寸资源
  尺寸资源被定义在res\values\dimens.xml文件中。
  Android中支持的尺寸单位:

单位表示

单位名称

说明

dip 

设备独立像素 

不同设备不同的显示效果,dip与屏幕密度有关 

px

像素

屏幕上的真实像素表示,不同设备不同显示屏显示效果相同

in

英尺

基于屏幕的物理尺寸

mm

毫米

基于屏幕的物理尺寸

pt

点(磅)

英尺的1/72

dp

和密度无关的像素

相对屏幕物理密度的抽象单位

sp

和精度无关的像素

和dp类似,与刻度无关的像素,主要处理字体大小


引用尺寸资源
  在Java代码中: R.dimen.dimen_name
  在xml文件中:@[package:]dimen/dimen_name

使用原始XML资源
  XML文件定义在工程的res\xml\目录下,通过Resources.getXML()方法来访问。
  获得原始XML文件的思路是,通过getResources().getXml()获得XML原始文件,得到XmlResourceParser对象,通过该对象来判断是文档的开始还是结尾、是某个标签的开始还是结尾,并通过一些获得属性的方法来遍历XML文件,从而访问XML文件的内容。

使用drawables资源
  drawable资源是一些图片或者颜色资源,主要用来绘制屏幕,通过Resources.getDrawable()方法获得。
  drawable资源分为三类:Bitmap File(位图文件)、Color Drawable(颜色)、Nine-Patch Image(九片图片)。
  Android中支持的位图文件有png、jpg和gif。
  引用位图资源的格式:
  Java代码中:R.drawable.file_name
  XML文件中:@[package:]drawable/file_name

使用布局(layout)资源
  布局资源是Android中最常用的一种资源,将屏幕中组件的布局方式定义在一个XML文件中,类似于Web中的HTML页面。
  布局文件位于res\layout\中,名称任意。Android通过LayoutInflater类将XML文件中的组件解析为可视化的视图组件。
  在Activity中,调用Activity.setContentView()方法,将布局文件设置为Activity的界面,使用findViewById()方法来得到布局中的组件。
  引用布局文件:
  Java代码中:R.layout.my_layout
  XML文件中:@[package:]layout/my_layout

使用菜单资源
  任何视图组件的创建方式都有两种:一种通过在布局文件中声明创建;另一种通过在代码中创建。
  Android中的菜单分为选项菜单、上下文菜单和子菜单,都可以在XML文件中声明定义,在代码中通过MenuInflater类使用。
  菜单资源文件也是XML文件,放在工程res\menu\目录下。通过R.menu.my_menu的方式来引用。
  典型菜单资源文件的结构:<menu>根元素,在根元素里会嵌套<item>和<group>子元素,<item>元素中也可嵌套<menu>形成子菜单。
  时间和精力有限,不能对每一个类型都做详细的例子研究,只好在实际的应用中综合起来再慢慢体会了。加油!
更多精彩内容其他人还在看

jQuery LigerUI 使用教程表格篇(1)

ligerGrid是ligerui系列插件的核心控件,用户可以快速地创建一个美观,而且功能强大的表格,支持排序、分页、多表头、固定列等等
收藏 0 赞 0 分享

JavaScript中常用的运算符小结

JavaScript中常用的运算符小结,需要的朋友可以参考下。
收藏 0 赞 0 分享

深入理解JavaScript系列(13) This? Yes,this!

在这篇文章里,我们将讨论跟执行上下文直接相关的更多细节。讨论的主题就是this关键字。实践证明,这个主题很难,在不同执行上下文中this的确定经常会发生问题
收藏 0 赞 0 分享

javascript (用setTimeout而非setInterval)

javascript (用setTimeout而非setInterval)如果用setInterval 可能出现 下次调用会在前一次调用前调用
收藏 0 赞 0 分享

JavaScript中两个感叹号的作用说明

用两个感叹号的作用就在于,如果明确设置了o中flag的值(非null/undefined/0""/等值),自然test就会取跟o.flag一样的值;如果没有设置,test就会默认为false,而不是null或undefined
收藏 0 赞 0 分享

javascript写的简单的计算器,内容很多,方法实用,推荐

最近用javascript写了一个简单的计算器,自己测试感觉还好,代码都给了注释,非常不错,推荐大家学习。
收藏 0 赞 0 分享

js的表单操作 简单计算器

javascript写的简单的加减乘除计算器,里面涉及到一些方法还是很实用的哦,新手不要错过
收藏 0 赞 0 分享

Jquery中删除元素的实现代码

empty用来删除指定元素的子元素,remove用来删除元素,或者设定细化条件执行删除
收藏 0 赞 0 分享

javaScript 利用闭包模拟对象的私有属性

JavaScript缺少块级作用域,没有private修饰符,但它具有函数作用域。作用域的好处是内部函数可以访问它们的外部函数的参数和变量(除了this和argument
收藏 0 赞 0 分享

为JavaScript类型增加方法的实现代码(增加功能)

大家在js开发过程中有些功能已经满足不了我们的需求,或没有我们需要的功能,那么我们就可以自己扩展下,个性化js
收藏 0 赞 0 分享
查看更多