版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ddnosh/article/details/84193665
layout
全部小写,采用下划线命名法,使用名词或名词词组。
所有Activity或Fragment的contentView必须与其类名对应。
- 命名规则:
将所有字母都转为小写,类型+功能。 - 举例:
比如MainActivity.java –> activity_main.xml
以下为几种常用的组件类型命名:
activity_类名,为Activity的命名格式
fragment_类名,为Fragment的命名格式
dialog_描述,为Dialog的命名格式
item_list_描述,为ListView的item命名格式
item_grid_描述,为GridView的item命名格式
header_list_描述,为ListView的HeaderView命名格式
footer_list_描述,为ListView的FooterView命名格式
有些资源文件有明确定义的范围,比如activity_main内包含的header布局文件,为activity_main_head.xml的命名格式
要求通过该id能直接理解该组件所实现的功能。
layout中的id
- 命名规则
命名规则:控件缩写_模块_逻辑。 - 举例
如:et_login_password,表示这是一个登录模块的密码输入框。
<!-- 这是标题栏的标题 -->
<TextView
android:id="@+id/tv_header_title"
/>
<!-- 这是搜索按钮 -->
<Button
android:id="@+id/btn_main_search"
/>
很多项目为了简洁,往往layout的id定义的不那么复杂,比如上面的et_login_password可能就会写成password。
这样有一个问题是,如果项目中存在多个相同的命名,那么查找起来会有些不方便。比如:
有同名的id:main_content。这样在代码中点击后,系统则会弹出选择框让我们选择跳转到哪一个layout下面的id。这样就增加了开发时间,尤其是对代码不是特别熟悉的情况下。
anim
全部小写,采用下划线命名法。
- 命名规则:
通用:动画类型_动画方向
模块专用:模块名_动画类型_动画方向 - 举例:
fade_out.xml淡出、slide_in_from_top从上滑动进入
fade_in,淡入
fade_out,淡出
push_down_in,从下方推入
push_down_out,从下方推出
slide_in_from_top,从头部滑动进入
zoom_enter,变形进入
shrink_to_middle,中间缩小
welcome_zoom_in,欢迎界面放大
drawable
全部小写,采用下划线命名法,加前缀区分
- 命名规则:
通用:用途_逻辑名
通用:用途_颜色
模块专用:用途_模块名_逻辑名
模块专用:用途_模块名_颜色
说明:用途也指控件类型(具体见附录1:控件缩写表)
可加后缀 _small 表示小图, _big 表示大图,逻辑名称可由多个单词加下划线组成. - 举例:
名称 说明
btn_main_home.png 按键用途_模块名_逻辑名称
divider_maket_white.png 分割线用途_模块名_颜色
ic_edit.png 图标用途_逻辑名称
bg_main.png 背景用途_逻辑名称
btn_red.png 红色按键用途_颜色
btn_red_big.png 红色大按键用途_颜色
ic_head_small.png 小头像用途_逻辑名称
bg_input.png 输入框背景用途_逻辑名称
divider_white.png 白色分割线用途_颜色
bg_main_head 主模块头部背景图片用途_模块名_逻辑名称
def_search_cell 默认搜索界面单元图片用途_模块名_逻辑名称
ic_more_help 更多帮助图标用途_逻辑名称
divider_list_line 列表分割线用途_逻辑名称
sel_search_ok 搜索界面确认选择器用途_模块名_逻辑名称
shape_music_ring 音乐界面环形形状用途_模块名_逻辑名称
如果有多种形态,如按钮选择器:sel_btn_xx.xml
sel_btn_xx 按钮图片使用btn_整体效果(selector)
btn_xx_normal 按钮图片使用btn_正常情况效果
btn_xx_pressed 按钮图片使用btn_点击时候效果
btn_xx_focused state_focused聚焦效果
btn_xx_disabled state_enabled (false)不可用效果
btn_xx_checked state_checked选中效果
btn_xx_selected state_selected选中效果
btn_xx_hovered state_hovered悬停效果
btn_xx_checkable state_checkable可选效果
btn_xx_activated state_activated激活的
btn_xx_windowfocused state_window_focused
values中的id
- strings
- 命名规则:
通用:逻辑名
模块专用:模块名_逻辑名 - 举例:
以下为几种常用的命名:
main_menu_about 主模块菜单按键文字
friend_title 好友模块标题栏
friend_dialog_del 好友模块删除提示
login_check_email 登录模块验证
dialog_title 弹出框标题
button_ok 确认键
loading 加载文字
- 命名规则:
- colors
一般颜色的命名只是用来映射颜色ARGB的名称。- 命名规则:
通用:颜色值名
专用:模块名或主题名_颜色值名 - 例子:
- 命名规则:
<resources>
<!-- grayscale -->
<color name="white" >#FFFFFF</color>
<color name="gray_light">#DBDBDB</color>
<color name="gray" >#939393</color>
<color name="gray_dark" >#5F5F5F</color>
<color name="black" >#323232</color>
<!-- basic colors -->
<color name="green">#27D34D</color>
<color name="blue">#2A91BD</color>
<color name="orange">#FF9D2F</color>
<color name="red">#FF432F</color>
</resources>
- dimens
- 命名规则:
类型_值 - 例子:
- 命名规则:
<resources>
<!-- font sizes -->
<dimen name="font_22">22sp</dimen>
<dimen name="font_18">18sp</dimen>
<dimen name="font_15">15sp</dimen>
<dimen name="font_12">12sp</dimen>
<!-- typical spacing between two views -->
<dimen name="spacing_40">40dp</dimen>
<dimen name="spacing_24">24dp</dimen>
<dimen name="spacing_14">14dp</dimen>
<dimen name="spacing_10">10dp</dimen>
<dimen name="spacing_4">4dp</dimen>
<!-- typical sizes of views -->
<dimen name="button_height_60">60dp</dimen>
<dimen name="button_height_40">40dp</dimen>
<dimen name="button_height_32">32dp</dimen>
</resources>
- styles
采用大驼峰命名法则。- 命名规则:
通用:逻辑名
模块专用:模块名 + . + 逻辑名 - 举例:
- 命名规则:
<style name="ContentText">
<item name="android:textSize">@dimen/font_normal</item>
<item name="android:textColor">@color/basic_black</item>
</style>
<style name="Feed.Category" parent="Session.Tag">
<item name="android:textAllCaps">true</item>
<item name="android:textColor">@color/feed_category</item>
<item name="android:minHeight">32dp</item>
</style>