使用android资源
1.我们可以命名的资源种类有多少?
答:
res/anim/ |
XML文件,它们被编译进逐帧动画(frame by frame animation)或补间动画(tweened animation)对象 |
res/drawable/ |
.png、.9.png、.jpg文件,它们被编译进以下的Drawable资源子类型中: 要获得这种类型的一个资源,可以使用Resource.getDrawable(id) 为了获取资源类型,使用mContext.getResources().getDrawable(R.drawable.imageId) 注意:放在这里的图像资源可能会被aapt工 具自动地进行无损压缩优化。比如,一个真彩色但并不需要256色的PNG可能会被转换为一个带调色板的8位PNG。这使得同等质量的图片占用更少的资源。 所以我们得意识到这些放在该目录下的二进制图像在生成时可能会发生变化。如果你想读取一个图像位流并转换成一个位图(bitmap),请把图像文件放在 res/raw/目录下,这样可以避免被自动优化。 |
res/layout/ |
被编译为屏幕布局(或屏幕的一部分)的XML文件。参见布局声明(Declaring Layout) |
res/values/ |
可以被编译成很多种类型的资源的XML文件。 注意: 不像其他的res/文件夹,它可以保存任意数量的文件,这些文件保存了要创建资源的描述,而不是资源本身。XML元素类型控制这些资源应该放在R类的什么地方。 尽管这个文件夹里的文件可以任意命名,不过下面使一些比较典型的文件(文件命名的惯例是将元素类型包含在该名称之中): array.xml 定义数组 colors.xml 定义color drawable和颜色的字符串值(color string values)。使用Resource.getDrawable()和Resources.getColor()分别获得这些资源。 dimens.xml定义尺寸值(dimension value)。使用Resources.getDimension()获得这些资源。 strings.xml定义字符串(string)值。使用Resources.getString()或者Resources.getText()获取这些资源。getText()会保留在UI字符串上应用的丰富的文本样式。 styles.xml 定义样式(style)对象。 |
res/xml/ |
任意的XML文件,在运行时可以通过调用Resources.getXML()读取。 |
res/raw/ |
直接复制到设备中的任意文件。它们无需编译,添加到你的应用程序编译产生的压缩文件中。要使用这些资源,可以调用Resources.openRawResource(),参数是资源的ID,即R.raw.somefilename。 |
and asset.
应用语法:R.resource_type.resource_name
2.R.java是什么?
在编译资源的时候,会生成R.java,它是用来记录每个资源的ID,这样资源都可以通过R.resource_type.resource_name 来使用。除了asset除外。
3.资源引用语法和为UI控件分配ID之间有什么联系。
资源引用就是通过ID来索引具体的UI控件,所以android引用UI控件很方便。
4.生成资源ID时,会使用扩展名吗?
不会。
5.如果两个资源,扩展名不同,会怎样?
编译失败。
6.什么是原始资源和XML资源,和asset有什么不同。
原始资源:res/raw/ 通常为mp3,txt等 R.raw.id
XML资源:xml R.xml.id
asset: 直接通过assetmanager打开。不会生成id,与res同级
7.xml资源能否本地化?
TBD。
8.asset能否本地化?
不能。asset可以有任意子目录,而res下面只能有文件。应为R.java需要以此来生成id。
9.资源引用语法
R.resource_type.resource_name
10.能否预先声明ID,如何声明?
在values新建立ids.xml,把id在这里声明:
<item type="id" name="right">false</item>
使用的时候就是@id 而不是@+id
11.那些XML节点可用于创建ID
TBD。
12.Plurals资源的1和其他的意义是什么?
帮助我们识别复数的时候使用,1表示单个,other表示其他个0个,或者>=2.
16.字符串可否使用HTML字串。
可以。
<
string
name="welcome">Welcome to <
b
>Android</
b
>!</
string
>
有时可能要创建一个样式化的文本资源,并可作为格式化串使用。通常这不能生效,
因为String.format(String, Object...)方法会去除字符串内的所有的样式信息。
解决方法是写入一段转义后的HTML标记,然后在格式化后再用fromHtml(String)恢复出这些样式。例如: (1)将样式化的文本资源存储为转义后的HTML字符串:
<resources>
<string name="welcome_messages">Hello, %1$s! You have <b>%2$d new messages</b>.</string>
</resources> 在这个格式化字符串里,加入了一个<b>元素。注意左尖括号是用标记<转义过的HTML。 (2)然后,按照通常方式格式化字符串,并调用fromHtml(String) 把HTML文本转换成带样式的文本。 Resources res = getResources();
String text = String.format(res.getString(R.string.welcome_messages), username,mailCount);
CharSequence styledText = Html.fromHtml(text); 因为fromHtml(String)方法会格式化所有的HTML内容,所以要确保用htmlEncode(String)对带格式化文本的字符串内所有可能的HTML字符进行转义。
比如,如果要把可能包含诸如“<”或“&”等字符的串作为参数传给String.format(),那么必须在格式化之前对这些字符进行转义。
格式化后,再把字符串传入fromHtml(String),这些特殊字符就能还原成本来意义了。例如: String escapedUsername = TextUtil.htmlEncode(username)
Resources res = getResources();
String text = String.format(res.getString(R.string.welcome_messages), escapedUsername,mailCount);
CharSequence styledText = Html.fromHtml(text);
18.如何定义一个拖拽矩形:
使用.9.png格式可以
19.如何使用
在可以拖拽的方向,可以不设限设置长度。
20怎么读题res/xml下的xml
通过activity.getresource().getxml xmlpresereader
21.assetmanager左右是什么?
主要作用是读取asset
22.resource 可以读取所有的res文件,通过activity获取
23.可否在asset下创建任意子目录,可以
24.可否在res/xml下创建子目录,不可以
25.什么是资源配置修饰符?
就是使得UI通过不同的配置呈现给点的效果,比如语言。
资源是使用到此介绍:接下去将讲述android 4 大组件的使用。
使用android资源的更多相关文章
- Android资源站
用这个帖子记录下看到的好的android资源站 1.各种资源:http://appxcode.com/ 2.图标 2.1 http://www.easyicon.net 2.2 http://www. ...
- Android资源(图片)命名规范
(转自:http://www.jb51.net/article/38796.htm) 图片命名注意: 1,不能以下划线("_")开头: 2,以数字加下划线("[0-9]_ ...
- Android 资源(resource详解(转)
本文介绍在Android开发中关于资源文件的存储操作.对于Android资源也是非常重要的,主要包括文本字符串(strings).颜色(colors).数组(arrays).动画(anim).布局(l ...
- Android资源文件简介
Android资源文件简介 1. Android应用资源的作用 (1) Android项目中文件分类 在Android工程中, 文件主要分为下面几类 : 界面布局文件, Java src源文件, 资源 ...
- Android资源命名规范
Android资源命名规范 命名模板为:缩写_主界面_功能部分(一) 缩写:ic ----------------------iconbg---------------------background ...
- 【转】关于Android资源文件中出现百分号的问题
关于Android资源文件中出现百分号的问题 分类: Android JAVA2014-08-01 16:53 1345人阅读 评论(0) 收藏 举报 ANDROID格式化资源文件 目录(?)[+ ...
- [转] Android资源管理框架(Asset Manager)简要介绍和学习计划
转自:http://blog.csdn.net/luoshengyang/article/details/8738877 Android应用程序主要由两部分内容组成:代码和资源.资源主要就是指那些与U ...
- 自动帮助创建android资源xml文件的网站
自动帮助创建android资源xml文件的网站 http://android-holo-colors.com/ stack overflow上一个seekbar的例子: http://stackove ...
- Android资源管理框架(Asset Manager)简要介绍和学习计划
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8738877 Android应用程序主要由两部分 ...
- ANDROID资源文件【转】
1. 资源包括:文本字符串.图像和图标.音频文件.视频和其他应用程序使用的组件. 2. 在Android工程中,Android资源文件是同Java类文件分开存储的,大多数常见的资源类型存储在XML ...
随机推荐
- # 20155337 2017-2018-1 《信息安全系统设计基础》第二周课堂实践+myod
20155337 2017-2018-1 <信息安全系统设计基础>第二周课堂实践+myod 因为在课上已经提交了四个实验,还欠缺最后一个实验,反省一下自己还是操作不熟练,平时在课下应该多多 ...
- 《Java 程序设计》课堂实践项目-mini dc
<Java 程序设计>课堂实践项目-后缀表达式 课后学习总结 目录 改变 mini dc实验要求 后缀表达式介绍 课堂实践成果 课后思考 改变 修改了博客整体布局,改变了之前贴个截图粘个代 ...
- 可能是全网首个支持阿里云Elasticsearch Xapck鉴权的Skywalking
可能是全网首个支持阿里云Elasticsearch Xapck鉴权的Skywalking 对Skywalking有兴趣的同学参见:年轻人的第一个APM-Skywalking 之前在搭建Skywalki ...
- 基于ejabberd实现各个客户端消息同步
先上图再说(左侧是web端,右侧是ios端) 要实现上面的功能,如果所有设备都在线的话,那么carboncopy(xmpp xep-0280协议)这个模块是可以实现接收到的消 ...
- 常用常忘的delegate,记一下。
多线程: 1 new Thread(new ThreadStart(Method1))).Start(); 1 new Thread(new ParameterizedThreadStart(Meth ...
- 180729-Quick-Task 动态脚本支持框架之任务动态加载
Quick-Task 动态脚本支持框架之任务动态加载 前面几篇博文分别介绍了整个项目的基本架构,使用说明,以及整体框架的设计与实现初稿,接下来则进入更细节的实现篇,将整个工程中核心实现捞出来,从为什么 ...
- 借助全新 MATLAB® 适配器代码示例读取英特尔® 实感™ 摄像头数据流
下载源代码请访问原文地址:借助全新 MATLAB® 适配器代码示例读取英特尔® 实感™ 摄像头数据流 简介 该可下载代码示例简要介绍了如何使用英特尔® 实感™ SDK 和 MATLAB 的图像采集工具 ...
- python程序设计——面向对象程序设计:方法
类中定义的方法分为四类:公有方法,私有方法,静态方法,类方法 公有方法.私有方法都属于对象,私有方法的名字以"__"开始 每个对象都有自己的公有方法和私有方法,这两类方法可以访问属 ...
- 【数据结构系列】线段树(Segment Tree)
一.线段树的定义 线段树,又名区间树,是一种二叉搜索树. 那么问题来了,啥是二叉搜索树呢? 对于一棵二叉树,若满足: ①它的左子树不空,则左子树上所有结点的值均小于它的根结点的值 ②若它的右子树不空, ...
- 用 Python 编写的 Python 解释器
Allison是Dropbox的工程师,在那里她维护着世界上最大的由Python客户组成的网络.在Dropbox之前,她是Recurse Center的引导师, … 她在北美的PyCon做过关于Pyt ...