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中支持的尺寸单位:
引用尺寸资源:
在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>形成子菜单。
时间和精力有限,不能对每一个类型都做详细的例子研究,只好在实际的应用中综合起来再慢慢体会了。加油!
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>形成子菜单。
时间和精力有限,不能对每一个类型都做详细的例子研究,只好在实际的应用中综合起来再慢慢体会了。加油!
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
暂无评论...
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
2024年11月26日
2024年11月26日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]