Android规范文档

  1. 图标使用规范(单位:dp)
    1. Android手机常见分辨率:800*480( 854*480),960*540,1280*720(1280*800),1920*1080

    2. DPI:mdpi 160,hdpi 240,xhdpi 320,xxhdpi 480,xxxhdpi 640

    3. sp和px的换算公式:
      分辨率为800*480时:1sp=1dp=1.5px
      分辨率为720*1280时:1sp=1dp=2px

    4. 操作栏图标:64,48,32,24

      通知图标:24 

      小/语境图标:16 

      Button:40 

      可触摸的UI组件:48

      UI元素之间的间距:8

  2. 命名规范

    (参见http://keeganlee.me/post/android/20150709

    1. 包名:

      域名反写+项目名称+模块名称,全部单词用小写字母

    2. 类和接口命名:

      使用大驼峰规则,用名词或名词词组命名,每个单词的首字母大写。以下为几种常用类的命名形式:

      activity:命名以Activity为后缀,如:LoginActivity
      fragment:命名以Fragment为后缀,如:ShareDialogFragment
      service:命名以Service为后缀,如:DownloadService
      adapter:命名以Adapter为后缀,如:CouponListAdapter
      工具类:命名以Util为后缀,如:EncryptUtil
       模型类:命名以BO为后缀,如:CouponBO
       接口实现类:命名以Impl为后缀,如:ApiImpl

    3. 方法命名:

      使用小驼峰规则,用动词命名,第一个单词的首字母小写,其他单词的首字母大写。以下为几种常用方法的命名:

      初始化方法,命名以init开头,例:initView
      按钮点击方法,命名以to开头,例:toLogin
      设置方法,命名以set开头,例:setData
      具有返回值的获取方法,命名以get开头,例:getData
      通过异步加载数据的方法,命名以load开头,例:loadData
      布尔型的判断方法,命名以is或has,或具有逻辑意义的单词如equals,例:isEmpty

    4. 控件缩写: 

控件缩写控件缩写
TextViewtxtEditTextedt
ButtonbtnImageButtonibtn
ImageViewimgListViewlist
RadioGroupgroupRadioButtonrbtn
ProgressBarprogressSeekBarseek
CheckBoxchkSpinnerspinner
TableLayouttableTableRowrow
LinearLayoutllayoutRelativeLayoutrlayout
ScrollViewscrollSearchViewsearch
TabHosthostTabWidgetwidget

 常量命名:

全部为大写单词,单词之间用下划线分开

变量命名:

{范围描述+}意义描述+类型描述的组合,用驼峰式,首字母小写

eg:private TextView headerTitleTxt; // 标题栏的标题

控件id命名:

控件缩写_{范围_}意义,范围可选,只在有明确定义的范围内才需要加上

eg:android:id="@+id/txt_header_title"

layout命名:

组件类型_{范围_}功能,范围可选,只在有明确定义的范围内才需要加上

activity_{范围_}功能,为Activity的命名格式
fragment_{范围_}功能,为Fragment的命名格式
dialog_{范围_}功能,为Dialog的命名格式
item_list_{范围_}功能,为ListView的item命名格式
item_grid_{范围_}功能,为GridView的item命名格式
header_list_{范围_}功能,为ListView的HeaderView命名格式
footer_list_{范围_}功能,为ListView的FooterView命名格式

strings命名:

类型_{范围_}功能

页面标题:title_页面
按钮文字:btn_按钮事件
标签文字:label_标签文字
选项卡文字:tab_选项卡文字
消息框文字:toast_消息
编辑框的提示文字:hint_提示信息
图片的描述文字:desc_图片文字
对话框的文字:dialog_文字
menu的item文字:action_文字

color命名:

直接用颜色英文名命名,注释标注使用位置

drawable资源命名:

前缀{_控件}{_范围}{_后缀}

图标类,添加ic前缀
背景类,添加bg前缀
分隔类,添加div前缀
默认类,添加def前缀
区分状态时,默认状态,添加normal后缀
区分状态时,按下时的状态,添加pressed后缀
区分状态时,选中时的状态,添加selected后缀
区分状态时,不可用时的状态,添加disable后缀
多种状态的,添加selector后缀(一般为ListView的selector或按钮的selector)

动画文件命名:

动画类型_动画方向。

fade_in,淡入
fade_out,淡出
push_down_in,从下方推入
push_down_out,从下方推出
slide_in_from_top,从头部滑动进入
zoom_enter,变形进入
shrink_to_middle,中间缩小

注释规范:
  1. 文件头注释:

     文件顶部统一添加版权声明,声明的格式如下:

    /**
     * Copyright (c) 2015. Keegan小钢 Inc. All rights reserved.
     */

  2. 类和接口注释:

    类和接口统一添加javadoc注释,格式如下:

    /**
     * 类或接口的描述信息
     *
     * @author  ${USER}
     * @date  ${DATE}
     */

  3. 方法注释:

    下面几种方法,都必须添加javadoc注释,说明该方法的用途和参数说明,以及返回值的说明

    接口中定义的所有方法
    抽象类中自定义的抽象方法
    抽象父类的自定义公用方法
    工具类的公用方法

  4. 变量和常量注释:

    下面几种情况下的常量和变量,都要添加注释说明,优先采用右侧//来注释,若注释说明太长则在上方添加注释

    接口中定义的所有常量
    公有类的公有常量
    枚举类定义的所有枚举常量
    实体类的所有属性变量

代码可读性管理:
  1. 的第一条逻辑语句之间、常量和变量间

  2. 当一个表达式无法容纳在一行内时,可换行显示,另起的新行用8个空格缩进

  3. 范围型的常量用枚举类定义,而不要直接用整型或字符,这样可以减少范围值的有效性检查

  4. 文字大小的单位统一用sp,元素大小的单位统一用dp

  5. 应用中的字符串统一在strings.xml中定义,然后在代码和布局文件中引用

  6. 颜色值统一在colors.xml中定义,然后在代码和布局文件中引用。另外,不要在代码和布局文件中引用系统的颜色,除了透明

转载于:https://my.oschina.net/purplesense/blog/644060

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值