Android 资源文件命名规范
来源:互联网 发布:seo工程师 编辑:程序博客网 时间:2024/05/21 17:52
前言
在我们开发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>
- android 资源文件命名规范
- Android 资源文件命名规范
- Android 资源文件的命名规范问题
- Android 资源文件的命名规范问题
- Android 资源文件的命名规范问题
- Android 资源文件的命名规范问题
- Android资源布局文件命名规范
- Android 资源文件的命名规范问题
- Android资源命名规范
- Android资源命名规范
- Android资源命名规范
- Android图片资源命名规范
- android各类资源命名规范
- Android文件命名规范
- Android文件命名规范
- Android文件命名规范
- Android文件命名规范
- Android文件命名规范
- CSS实现垂直居中的4种思路
- 鼠标事件的距离
- Android SDK以及
- Unite Europe案例项目《影子战术》层级优化经验分享
- NZT安装教程
- Android 资源文件命名规范
- 针对一道笔试题线程+io流的练笔
- js 通过传入 开始时间和结束时间 算出相差多少秒 分钟 相差时间
- 转载 make版MYsql 5.5.13
- 自动装箱与自动拆箱
- Java学习笔记-多态性
- CSDN修改资源分数值,取消0分,最低分为1分
- Junit的使用实例
- CentOS7利用pip快速安装TensorFlow