

关于Android strings.xml-你应该了解的几个原则
source link: http://www.androidchina.net/6669.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

不要试图重用
不同的页面不要重用一个string。
-
假设你的登录和注册页面都有一个加载对话框。因为都有加载界面所以你决定使用同一个string-R.string.loading。
但是说不定什么时候你使用不同的string了,这时你就需要重新创建两个新的string,而且还要修改java代码。如果一开始你就使用两个string的话,你需要修改的就只有strings.xml文件。
2. 你永远不知道你的应用要支持哪些语言。在某一种语言中-或许你可以在不同的上下文中使用同一个词语,但是在另一种语言中很可能不同的上下文需要不同的词语。
注意这里英语版本的strings.xml中,R.string.download_file_yes 和 R.string.terms_of_use_yes两个string都是同一个单词- “Yes”。
但是在乌克兰语版本中R.string.download_file_yes用的是 “Гаразд”,而 R.string.terms_of_use_yes用的是“Так”。
同一页面的string用前缀和注释分离

- 为每个string添加页面前缀,帮助你立即识别出一个string属于哪个页面。
- 干净的strings.xml文件可以帮助你轻松维护与翻译成不同的语言-一个一个页面的来。
为每个页面创建单独的strings.xml 文件
如果你想为每个页面创建一个 strings.xml文件,可以这样命名:settings-strings.xml, profile-strings.xml。但是一个app通常有10到20个页面。所以每一个语言目录下都会有10到20个strings.xml文件,个人认为这带来的是混乱。
Format格式化
使用 Resources#getString(int id, Object… formatArgs) 来格式化 strings
永远不要使用+号来拼接字符串,因为不同的语言语序是不同的。
正确的方式是使用Resources#getString(int id, Object… formatArgs)。
使用 Resources#getQuantityString (int id, int quantity) 来处理复数
永远不要在java代码中解决复数问题,因为不同语言中复数的语法规则是不同的。
正确的方式是使用Resources#getQuantityString (int id, int quantity)。
注:关于getQuantityString方法请看:Android Quantity Strings 的 getQuantityString方法取值问题
词语高亮显示
使用html文本来高亮静态词语
如果你想改变TextView中的某些单词的颜色- ForegroundColorSpan并不总是最佳选择,因为它的高亮是通过索引来完成的,而且在多语言下不安全。最好在 strings.xml文件中使用html的font color标签。
假设你有一个“Discover and play games.” 的文本。你想让单词 “Discover” 和 “play” 显示成蓝色。
Recommend
-
55
作为一个不断发展的产业,区块链对其专业人才的需求量很大。UpWork的报告显示,仅在过去的连续三个季度里,与区块链技术相关的工作岗位就增长了2000%。大公司和初创公司都希望能够雇佣到更多掌握着区块链技术又有相关经验的人才。
-
37
介绍 什么是DNS,DNS的全称是域名系统(Domain Name System),DNS是在学习配置一个站点或者服务时比较难的一个部分。理解DNS如何工作的原理对你诊断站点访问配置问题带来帮助,同时也能加深你对它背后的运行机制的理解。 在这篇文章中,我们将会
-
3
矿工应该了解的几个 Filecoin 重要的 FIP(持续更新) 世界先于我们而存在,而在我们死了之后,世界依然存在。 也许,我们存在的唯一意义,就是给世界一次变好的机会。 这篇文章我们来聊一聊,作为 Filecoin 矿工,你应...
-
5
每位开发者都应该知道SOLID原则 – Android开发中文站你的位置:Android开发中文站 > 热点资讯 > 每位开发者都应该知道SOLID原则...
-
5
关于手机上的 Emoji 图标,这几个背后的故事你应该没听过 – Android开发中文站你的位置:Android开发中文站 > 产品 > 关于手机上的 Emoji 图标,这...
-
12
交互设计原则应该怎么运用到实际项目中?(二)...
-
6
简单谈几个我的架构原则 2021-12-25 源于左耳朵耗子前几天发表了一篇很好的文章《我做系统架构的一些原则》,所以也想借此话题谈谈自己的一些浅显思考… 可能有些装逼或者夸张的成分,但技术层面的架构思考,我觉得2013年...
-
6
首席信息官应该了解的关于云计算服务提供商的五件事-51CTO.COM 首席信息官应该了解的关于云计算服务提供商的五件事 作者:Kevin Casey 2022-04-15 11:17:26 企业如何选择云计算服务提供商以帮助...
-
10
编辑导语:产品的设计原则作为设计的核心价值,可以指导和衡量设计方案的优劣。不过由于理解的不同,即使掌握了那些厉害的原则,也可能导致最终产出差强人意。那么,工作中应对设计原则应该注意什么呢?一起来看一下吧。
-
4
程序员拥有一个较好的编程原则能使他的编程能力有大幅的提升,可以使其开发出维护性高、缺陷更少的代码。以下内容梳理自StactOverflow的一个问题:编程时你最先考虑的准则是什么? KISS(Keep It Simple Stupid) KISS原则是英语 Keep It Simple, S...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK