使用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 ...
随机推荐
- 2016-2017-2 20155339 实验二《Java面向对象程序设计》实验报告
2016-2017-2 20155339 实验二<Java面向对象程序设计>实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟 ...
- DSP6748学习笔记-190116
1. PSC是什么?电源和睡眠控制器.一个PSC模块由一个全局PSC和一组本地PSC组成,那么又是什么? PSCModuleControl(SOC_PSC_0_REGS, , PSC_POWERDOM ...
- unity游戏在ios11上不显示泰语解决办法
最近在开发中遇到unity游戏在ios11上不显示泰语的问题,全部显示为方框内一个问号. 通过搜索发现这是Unity的一个bug,在2017.3中修复了 但升级unity风险很大,所以我采用了该文中提 ...
- MES与ERP的区别(转)
MES和ERP有很大的不同,主要体现在以下几个方面: 1.管理的目标不同 ERP的重点在于财务,也就是从财务的角度出发来对企业的资源进行计划,相关的模块也是以财务为核心的展开,最终的管理数据也是集中到 ...
- 四、利用EnterpriseFrameWork快速开发基于WCF为中间件的三层结构系统
回<[开源]EnterpriseFrameWork框架系列文章索引> EnterpriseFrameWork框架实例源代码下载: 实例下载 本章内容与上一张<利用Enterprise ...
- qt cout输出中文乱码解决记录
工具 -> 选项-> 文本编辑器-> 行为 -> 文件编码->默认编码改为System 乱码原因: 默认用utf-8编码,控制台默认gbk编码,编码不一致导致的乱码
- Mybatis利用拦截器做统一分页
mybatis利用拦截器做统一分页 查询传递Page参数,或者传递继承Page的对象参数.拦截器查询记录之后,通过改造查询sql获取总记录数.赋值Page对象,返回. 示例项目:https://git ...
- boot,rebuild,resize,migrate有关的scheduler流程
代码调用流程: 1. nova.scheduler.client.query.SchedulerQueryClient#select_destinations 2. nova.scheduler.rp ...
- Full Binary Tree(二叉树找规律)
Description In computer science, a binary tree is a tree data structure in which each node has at mo ...
- 按照Right-BICEP要求设计的测试用例
测试用例: 测试方法:Right-BICEP 测试要求: Right-结果是否正确? B-是否所有的边界条件都是正确的? P-是否满足性能要求? 题目是否有重复? 数量是否可定制? 数值范围是否可定制 ...