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

外置资源一个很重要的原因是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选择标识符匹配最多的文件夹。如果两个文件夹匹配的一样多,那么,上面列表中的匹配标识符的顺序会用来作决胜局的依据。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值