string.xml 规范

前言:如果你有更好的私藏文章,不凡分享出来,独乐乐不如众乐乐(⊙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));

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,684评论 0 17
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,805评论 18 399
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,089评论 25 709
  • 通过简书,搜索“写作+模仿”,共有17131个结果。 这说明,众多写作的人都在经意或不经意的模仿。 为什么有的写作...
    冉茂睿阅读 370评论 1 3
  • 梦醒悠悠,西风砌眉间。 只嗔天不解人言,夜残月竟全。 愁字怎谓闲?三更尽,终负流年。 衾自厚,人已寒,白露洒阶沿。
    深蓝的雨阅读 214评论 0 0