前言
在我们开发Android的时候,肯定会用到资源文件,color,dimen,string等等,当我们项目小的时候,我们使用资源文件并没有关注使用的规范.导致项目大了以后或者ui经过几次的改版之后,资源文件中的资源名称命名很是混乱.下面我就看看其他的文章和自身的经验,来总结一下资源文件中的命名规范
以下的说法都是博主个人觉得比较好的观点,如果各位有什么不同的意见,欢迎讨论
命名的唯一的一个目的就是为了后期便于维护
命名的总体的一个方式就是根据模块来命名,能达到看到名字就能知道这个资源的作用就可以啦
命名的唯一的一个目的就是为了后期便于维护
命名的总体的一个方式就是根据模块来命名,能达到看到名字就能知道这个资源的作用就可以啦
而我们的所有资源大概分为以下两类:
1.layout drawable mipmap
2.strings colors dimens
第一种资源是以单个文件作为区分的,都是在一个目录下的,顺序是根据名称而定的
第二种资源是定义在一个文件内的,内部的顺序是可以自己人为协调的
1.layout drawable mipmap
使用模块的名称来开头,这样子可以让一个模块下的文件都自动被IDE规整到一块了,便于查找也便于管理,不用到处寻找了
如果一些是多个界面通用的资源,采用统一的common_前缀开头来命名,可让通用的资源都规整到一块
2.strings colors dimens
这类资源是文件内部声明的,所以我们可以在内部根据模块进行编写,一个模块的统一规整到一块
通用的资源可以单独规整
特别注意:在项目中我们经常可以见到的命名比如
<color name="red">#FF0000</color>
这种命名是描述资源本身的是严禁在代码中直接使用的,因为此类资源没有任何一点的模块划分,也和业务没有一丝的关系
命名总结
layout
非共有类型:{模块描述}_{布局类型}
共有功能类型:{common}_{布局类型}
main_act
表示主界面Activity的布局
main_home_frag
表示主界面的子页面HomeFragment的布局
myorder_act
表示我的订单的界面
myorder_list_item
表示我的订单的列表的item
common_order_list_item
表示多个界面用到的订单列表的item
common_taxi_order_list_item
表示多个界面用到的出租车订单列表的item
drawable 和 mipmap
非共有类型:{模块描述}_{视图类型}_{业务描述}_{类型}_{后缀}
共有功能类型:{common}_{视图类型}_{业务描述}_{类型}_{后缀}
类型:_ic,_bg(貌似就这两种了)
后缀:_normal,_pressed,_selected,_selector,_disable……
后缀默认的就是_normal,可以被省略的
main_iv_goback_ic_normal
表示主界面的返回图标的imageview的图标
main_iv_goback_bg_normal
表示主界面的返回图标的imageview的背景
main_iv_goback_bg_selector
表示主界面的返回图标的imageview的背景选择器
common_iv_goback_ic_selector 表示通用的返回图标的图标选择器
strings 和 colors 和 dimens
非共有类型:{模块描述}_{视图类型}_{业务描述}_{后缀}
共有功能类型:{业务功能}_{视图类型}_{业务描述}_{后缀}
后缀:_normal,_pressed,_selected,_selector,_disable……
<string name="main_home_et_password_hint">请输入密码</string>
表示主页的home子页面中的密码输入框的提示文本
<string name="main_home_et_password_text">123456</string>
表示主页的home子页面中的密码输入框的默认显示密码为123456,
订单列表中的确认收货按钮的文本
<string name="order_list_item_btn_confirmreceipt">确认收货</string>
订单列表中的确认收货按钮被按下时候的文本
<string name="order_list_item_btn_confirmreceipt_pressed">确认收货</string>
order 表示视图功能描述,list_item_btn 是视图类型,confirmreceipt 是业务描述
<resources>
<!--============不可直接使用的静态资源==========-->
<string name="ok">确认</string>
<string name="completed">已完成</string>
<string name="exit">退出</string>
<string name="find">发现</string>
<!--===========共有部分 =========-->
<string name="app_name">Soar</string>
<!--订单列表中的确认订单按钮文本-->
<string name="order_list_item_btn_confirmreceipt">确认收货</string>
<!--弹框中的确认按钮的文本-->
<string name="dialg_btn_confirm">好的</string>
<!--===========主界面 =========-->
<string name="main_home_btn_confirm">@string/ok</string>
<!--首页和发现页面的标题栏文本-->
<string name="main_home_title">首页</string>
<string name="main_find_title">@string/find</string>
<!--===========主界面 end===========-->
</resources>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!--============不可直接使用的静态资源==========-->
<!--两个静态资源,不能直接使用的-->
<color name="red">#FF0000</color>
<color name="blue">#0000FF</color>
<!--============共有部分==========-->
<!--所有界面的标题栏的背景颜色-->
<color name="titlebar">@color/red</color>
<color name="titlebar_bg">@color/red</color>
<!--所有界面的分割线颜色-->
<color name="item_div_bg">#888888</color>
<!--所有订单的确认按钮的的背景色-->
<color name="order_btn_confirm">@color/red</color>
<color name="order_btn_confirm_bg">@color/red</color>
<!--============主界面模块==========-->
<!--主页的home子页面的标题栏背景颜色-->
<color name="main_home_titlebar">@color/red</color>
<color name="main_home_titlebar_bg">@color/red</color>
<!--主页的发现子页面的确认按钮的背景颜色-->
<color name="main_find_btn_confirm">@color/red</color>
<!--主页的发现子页面的确认按钮的文本颜色-->
<color name="main_find_btn_confirm_text">@color/blue</color>
<!--主页的发现子页面的确认按钮被按下的时候的背景颜色-->
<color name="main_find_btn_confirm_bg_pressed">@color/red</color>
<!--主页的发现子页面的确认按钮被按下的时候的文本颜色-->
<color name="main_find_btn_confirm_text_pressed">@color/blue</color>
</resources>