您的位置:首页 > 移动开发 > Android开发

Android开发之文件命名规范

2015-07-27 09:51 288 查看
以前自己学习Android做项目的时候都是自己一个人在单搞,所以对命名这一块没有形成什么良好的习惯,只要自己能懂就可以了。但是现在进公司实习才知道这样完全不行的,公司的项目基本都是团队合作,所以你要能看懂别人的代码,也要让别人能看懂你的代码。当我打开那些资源表的时候完全傻了,实在是太多了,完全不知道哪个是哪个。再就是我自己写的界面差不多有十几个图标,我也不知道该怎么命名别人才能懂。没办法,只能硬着头皮去找项目经理问怎么命名,项目经理很快的说了一遍,但是我觉得我还没有完全接受,只能自己去网上查了一下资料(真心觉得坑,写了这么久的代码才知道自己命名都不会)。下面跟大家分享一下我查到的资料总结!

首先你要看懂别人的命名就要知道别人的那些缩写代表什么意义:

资源缩写说明
前缀
说明
ic --icon
主要用于布局和子布局的图标
bg--background
主要用于布局和子布局的背景
di--divider
主要用于分隔线,不仅包括Listview中的还包括普通布局中的线
sl--selector
主要用于某一view多种状态,listview 按钮等
cl--color
主要用于颜色值
bt--button
主要用于按钮的表示,有时我们会在ic和bt之间犹豫,简单的区分即是功能视图,如果一个view执行的时back或者confirm或者cancel的功能,则命名上则应该使用bt
后缀
说明
unit
在使用xml的tilemode来配图片时,element图片使用此后缀
nor
图片的状态,代表普通状态
hl
图片的状态,代表高亮状态
press
图片的状态,代表按下状态
select
图片的状态,代表其所占的view被选中
unselect
图片的状态,代表其所占的view没有被选中
组件名称对照表
组件名称
简写
组件名称
简写
Button
Btn(btn)
RadioButton
Rbtn(rbtn)
ImageButton
Ibtn(ibtn)
TextView
Tv(tv)
ImageView
Iv (iv)
ListView
Lv(lv)
ProgressBar
Pbar(pbar)
EditText
Edtv(et)
ScrollView
Sclv(scly)
CheckBox
Chk(chk)
RelativeLayout
Rlyt(rlyt)
LinearLayout
Llyt(llyt)
TableLayout
Tlyt(tlyt)
AbsoluteLayout
ALyt(alyt)
FrameLayout
Flyt(flyt)
当你能够读懂那些缩写后就简单多了,接下来只要知道你们那个团队的统一命名规则,大部分都是见量知其意,下面列举一些常见的命名规则:

(一) Layout命名

1.contentview命名:activity_功能模块.xml

例如:activity_main.xml、activity_more.xml

2.Dialog命名:dialog_描述.xml

例如:dlg_hint.xml

2.PopupWindow命名:ppw_描述.xml

例如:ppw _info.xml

3. 列表项命名listitem_描述.xml

例如:listitem_city.xml

4.包含项:include_模块.xml

例如:include_head.xml、include_bottom.xml

(二) 图片命名

1. 静态图片前缀_模块、前缀_模块_描述

例如:bg_main.png、ic_main_search.png

2. 动态图片前缀_模块_描述_状态、前缀_描述_状态

例如:btn_film_buy_n.png、btn_film_buy_p.png、btn_back_n.png

如果有多种形态如按钮等除外如btn_film_buy.xml(selector)

(三) id命名(待调整??)

Xml中id的命名,建议直接根据意义命名,不必使用以上复杂的定位,因为findViewById只在某指定layout中find。或者value中建立id文件统一管理(兼容性不好)

一般可以这样:android:id="@id/tv_name" 、android:id="@id/listv"、android:id="@id/tv_head_title"

个人习惯:android:id="@id/tvName"、android:id="@id/listvName"、android:id="@id/tvHeadTitle",然后在class里的命名和id名字保持一致

(四) 字符串命名

最好不要跟title、dialog、button等东西关系起来,直接用相同英文含义就可以了,如果下:

<string name="ok">确定</string>

<string name=" welcome_to_use">欢迎使用</string>

再举一些不好的例子,如下<string name="menu_ok ">确定</string>

(五) 控件命名

控件缩写_描述

例如:TextViewtv_name、Button btn_buy、LinearLayoutllyt_body;

(六) 类命名

功能模块Activity.class 功能模块Service.class

如:MainActivity.class LoginActivity.class AppUpgradeService.class
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: