前言:如果你有更好的私藏文章,不凡分享出来,独乐乐不如众乐乐(⊙o⊙)
本文总结了 Android string.xml 书写相关的一些原则和规范,只覆盖了常见的场景。有些规则只是针对自己项目而言,并非其他做法都是错误的。
一、资源独立
例如PullToRefreshListView有两个状态,下拉刷新和上拉加载,那么你可以在string.xml里面定义:
<string name="pull_to_refresh">加载中...</string>
这样,假设需求变了,就要求下拉的时候提示“刷新中...”,那么你将有一半的工作量去修改代码去隔离刷新和加载,所以为了提高程序的扩展性,建议一开始就划分开:
<string name="pull_to_refresh_refreshing">刷新中...</string>
<string name="pull_to_refresh_loading">加载中...</string>
二、使用前缀
使用前缀配合注释,能增加程序的可读性
<!-- 抽屉相关 -->
<string name="navigation_drawer_open">Open navigation drawer</string>
<string name="navigation_drawer_close">Close navigation drawer</string>
三、格式化
string中若有可变字符串,建议少用+号拼接,使用Android Format格式化语法,例如:
string.xml
<string name="new_data_toast_message">条更新</string>
Test.java
int count = 10 ;
String result = count + " " + getString(R.string.new_data_toast_message);
// result = "10 条更新"
建议使用Format格式化
string.xml
<string name="new_data_toast_message">%d 条更新</string>
Test.java
int count = 10 ;
String result = getString(R.string.new_data_toast_message , count);
// result = "10 条更新"
四、html样式
在string.xml里也可以保存html的一些样式
<string name="html_text" formatted="false">
<![CDATA[
<font color=\'#fff\'>文字1</font>文字2<font color=\'#000\'>文字3</font>
]]>
</string>
在java中可以这么引用:
String str = Html.formHtml(getString(R.string.html_text));
网友评论