`
825288003
  • 浏览: 110858 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

为不同的语言和硬件创建资源

 
阅读更多
外置资源一个很重要的原因是Android的动态资源选取机制。



使用下面描述的结构,你可以为指定的语言、区域和硬件配置创建不同的资源值,供Android系统在运行时动态选取。



这能让你创建指定语言、区域和硬件的用户界面,而不需要更改你的代码。



通过在/res文件夹下设置平行的文件夹来设定供选择的资源,使用“-”分割符来指定应用程序支持的条件。



下面的层次例子,显示了文件夹结构,包括默认的字符串值,法语字符串值和额外的加拿大地区的法语字符串值。



Project/

res/

values/

strings.xml

values-fr/

strings.xml

values-fr-rCA/

strings.xml



下面的列表给出了你可以用来定制资源文件名的标识符:



❑语言                          两个小写的ISO 639-1语言代号(例如,en)

❑区域                        小写“r”,后跟两个大写的ISO 3166-1-α-2 语言代号

(例如,rUS,rGB)

❑屏幕方向              “port”(portrait)、“land”(landscape)、

“square”(square)之一

❑屏幕像素密度      一英寸中的像素点(dpi)(例如,92dpi,108dpi)

❑触摸屏类型         “notouch”、“stylus”、“finger”之一

❑键盘显示             “keysexposed ”或“keyshidden”

❑键盘输入类型    “nokeys”、“qwerty”、“12key”之一

❑UI导航类型        “notouch”、“dpad”、“trackball”、“wheel”之一

❑屏幕分辨率          最大的屏幕尺寸(像素)(例如,320x240)



你可以为任何资源类型指定多个标识符,相互之前使用“-”分隔符。任意组合都是支持的,但是,它们必须按照列表中给出顺序使用,且每种类型的标识符不能超过1个值。



接下来的例子显示了drawable资源有效的和无效的文件夹名。



❑ 有效:

drawable-en-rUS

drawable-en-keyshidden

drawable-land-notouch-nokeys-320x240

❑ 无效:

drawable-rUS-en (顺序错了)

drawable-rUS-rUK (单个类型的标识符拥有多个值)



当Android在运行时获取资源时,它会从可供选择的资源里寻找最匹配的。从文件夹(文件夹中都含有需要的值)列表开始,Android选择标识符匹配最多的文件夹。如果两个文件夹匹配的一样多,那么,上面列表中的匹配标识符的顺序会用来作决胜局的依据。

分享到:
评论

相关推荐

    FPGA Verilog 规范 硬件描述语言 嵌入式 IEEE STD-1364

    资源包含IEEE Verilog-2001标准语法规范和IEEE Verilog-2005标准语法规范,标准定义了Verilog硬件描述语言(HDL)。 Verilog 硬件描述语言(HDL)是在这个标准中定义的。VerilogHDL 是一种正式的符号,用于电子系统...

    如何用Android Studio创建一个C语言项目并学习开发C语言和汇编语言.zip

    - **直接硬件控制**:汇编语言允许程序员直接操控硬件资源,如寄存器、内存地址、I/O端口等,这使得它非常适合编写对时间和空间效率要求极高、需要精确控制硬件的程序,如设备驱动、实时系统内核、性能关键算法等。...

    移动操作系统原理与实践——基于Java语言的Android应用开发.zip

    移动操作系统原理与实践——基于Java语言的Android应用开发 目录 基础篇 第1章移动操作系统概论 1.1操作系统的原理与概念 1.1.1隐藏硬件细节 1.1.2资源管理 1.1.3操作系统的历史 1.2操作系统的分类 1.2.1...

    Android高级编程.pdf

    3.6.4 为不同的语言和硬件创建资源 3.6.5 运行时配置更改 3.7 深入探讨Android活动 3.7.1 创建一个活动 3.7.2 活动生命周期 3.7.3 Android活动类 3.8 小结 第4章 创建用户界面 4.1 Android UI基本设计 4.2 View简介...

    概观C++程序设计语言

    这种语言结构允许程序员创建和使用新的型别(type),而这些新的型别则可以与实际应用中所包含的概念相适应。由此可知,C++既支持面向低层次的程序设计风格,又支持面向高层次的程序设计风格。其中,面向低层次的...

    学习汇编语言过程中完成的各种实验以及源代码

    深入理解分支预测对于优化代码、提高程序性能和更好地利用计算机硬件资源都具有重要意义。通过这些实验和学习项目,我不仅掌握了汇编语言的基本知识和技能,还深入理解了计算机底层的工作原理和优化技术,为我未来在...

    基于SQL语言MySQL数据库应用程序及其代码方案

    4. 可扩展性:MySQL支持大量的表和数据,可以通过增加硬件资源来提高数据库的处理能力。 5. 多平台支持:MySQL可以在多种操作系统上运行,包括Windows、Linux、Unix等。 6. 安全性:MySQL提供了丰富的安全设置和加密...

    创建Node.js TypeScript后端项目.zip

    创建Node.js TypeScript后端项目,...云计算与大数据:包括云计算平台、大数据分析、人工智能、机器学习等,云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。

    Android高级编程 part1

     3.6.4 为不同的语言和硬件创建资源  3.6.5 运行时配置更改  3.7 深入探讨Android活动  3.7.1 创建一个活动  3.7.2 活动生命周期  3.7.3 Android活动类  3.8 小结  第4章 创建用户界面  4.1 Android UI基本...

    Android高级编程 part2

     3.6.4 为不同的语言和硬件创建资源  3.6.5 运行时配置更改  3.7 深入探讨Android活动  3.7.1 创建一个活动  3.7.2 活动生命周期  3.7.3 Android活动类  3.8 小结  第4章 创建用户界面  4.1 Android UI基本...

    《Android高级编程》

    3.6.3 To-DoList资源示例 3.6.4 为不同的语言和硬件创建资源 3.6.5 运行时配置更改 3.7 深入探讨Android活动 3.7.1 创建一个活动 3.7.2 活动生命周期 3.7.3 Android活动类 3.8 小结 第4章 创建用户界面 4.1 Android ...

    Metro风格资源管理器(Immersive Explorer)1.0.7绿色中文版.zip

    Immersive Explorer是为桌面用户设计的,现在也支持触摸屏了,这个软件使用了硬件加速,所以显示的动画和过渡效果也会十分的流畅。 在操作这个软件的过程中,创建文件夹、编辑等操作会弹出半透明的界面,十分的好看...

Global site tag (gtag.js) - Google Analytics