Android规范文档
2019独角兽企业重金招聘Python工程师标准>>>
图标使用规范(单位:dp)
Android手机常见分辨率:800*480( 854*480),960*540,1280*720(1280*800),1920*1080
DPI:mdpi 160,hdpi 240,xhdpi 320,xxhdpi 480,xxxhdpi 640
sp和px的换算公式:
分辨率为800*480时:1sp=1dp=1.5px
分辨率为720*1280时:1sp=1dp=2px操作栏图标:64,48,32,24
通知图标:24
小/语境图标:16
Button:40
可触摸的UI组件:48
UI元素之间的间距:8
命名规范
(参见http://keeganlee.me/post/android/20150709)
包名:
域名反写+项目名称+模块名称,全部单词用小写字母
类和接口命名:
使用大驼峰规则,用名词或名词词组命名,每个单词的首字母大写。以下为几种常用类的命名形式:
activity:命名以Activity为后缀,如:LoginActivity
fragment:命名以Fragment为后缀,如:ShareDialogFragment
service:命名以Service为后缀,如:DownloadService
adapter:命名以Adapter为后缀,如:CouponListAdapter
工具类:命名以Util为后缀,如:EncryptUtil
模型类:命名以BO为后缀,如:CouponBO
接口实现类:命名以Impl为后缀,如:ApiImpl方法命名:
使用小驼峰规则,用动词命名,第一个单词的首字母小写,其他单词的首字母大写。以下为几种常用方法的命名:
初始化方法,命名以init开头,例:initView
按钮点击方法,命名以to开头,例:toLogin
设置方法,命名以set开头,例:setData
具有返回值的获取方法,命名以get开头,例:getData
通过异步加载数据的方法,命名以load开头,例:loadData
布尔型的判断方法,命名以is或has,或具有逻辑意义的单词如equals,例:isEmpty控件缩写:
控件 | 缩写 | 控件 | 缩写 |
TextView | txt | EditText | edt |
Button | btn | ImageButton | ibtn |
ImageView | img | ListView | list |
RadioGroup | group | RadioButton | rbtn |
ProgressBar | progress | SeekBar | seek |
CheckBox | chk | Spinner | spinner |
TableLayout | table | TableRow | row |
LinearLayout | llayout | RelativeLayout | rlayout |
ScrollView | scroll | SearchView | search |
TabHost | host | TabWidget | widget |
常量命名:
全部为大写单词,单词之间用下划线分开
变量命名:
{范围描述+}意义描述+类型描述的组合,用驼峰式,首字母小写
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,中间缩小
注释规范:
文件头注释:
文件顶部统一添加版权声明,声明的格式如下:
/**
* Copyright (c) 2015. Keegan小钢 Inc. All rights reserved.
*/类和接口注释:
类和接口统一添加javadoc注释,格式如下:
/**
* 类或接口的描述信息
*
* @author ${USER}
* @date ${DATE}
*/方法注释:
下面几种方法,都必须添加javadoc注释,说明该方法的用途和参数说明,以及返回值的说明
接口中定义的所有方法
抽象类中自定义的抽象方法
抽象父类的自定义公用方法
工具类的公用方法变量和常量注释:
下面几种情况下的常量和变量,都要添加注释说明,优先采用右侧//来注释,若注释说明太长则在上方添加注释
接口中定义的所有常量
公有类的公有常量
枚举类定义的所有枚举常量
实体类的所有属性变量
代码可读性管理:
法的第一条逻辑语句之间、常量和变量间
当一个表达式无法容纳在一行内时,可换行显示,另起的新行用8个空格缩进
范围型的常量用枚举类定义,而不要直接用整型或字符,这样可以减少范围值的有效性检查
文字大小的单位统一用sp,元素大小的单位统一用dp
应用中的字符串统一在strings.xml中定义,然后在代码和布局文件中引用
颜色值统一在colors.xml中定义,然后在代码和布局文件中引用。另外,不要在代码和布局文件中引用系统的颜色,除了透明
转载于:https://my.oschina.net/purplesense/blog/644060
Android规范文档相关推荐
- 再读华为代码规范文档
两年前,开始编程前,读过华为代码规范文档,以后一直按该文档要求自己,两年后,再读,另有收获,发现这些问题,自己平时还是没有注意到. 1.关于函数使用: 1.1 接口函数参数 在同一项目组应明确规定对接 ...
- Python试题和规范文档
##试题: ###第一题: microbit和Arduino的区别 microbit:1.在线编程工具+本地编程工具,2.尺寸 43mm * 52mm,3.兼容电压:3V,4.带有模拟窗口,即使手上没 ...
- microbit题目和规范文档
microbit题目和规范文档 考试题目: 第一题:microbit和Arduino的区别 第二题 第三题:画流程图,当microbit晃动时,在LED点阵上显示1-6的随机数,当按钮b按下时,清空l ...
- PBOC借记贷记应用终端规范文档,对名词解释
中国金融集成电路(IC)卡规范备注 学习PBOC借记贷记应用终端规范文档,对名词解释备注一下. 应用 application 卡片和终端之间的应用协议和相关的数据集. 命令 command 终端 ...
- 还在手工制作APP规范文档?这款设计神器你不容错过
之前写了一些关于APP原型文档的文章:一款APP的交互文档从撰写到交付 这次想写下关于APP设计规范文档的内容,规范文档这个东西,实际上大部分中小型公司没有这方面的需求,也没精力去制作这样一个系统性的 ...
- Android开发规范文档
剑走偏锋终归会落下一些东西,以后会慢慢整理 1. 基本命名规则 在面向对象编程中,对于类,对象,方法,变量等方面的命名是非常有技巧的.比如,大小写的区分,使用不同字母开头等等.但究其本,追其源,在 ...
- 非主流架构师编写的架构规范文档
系统架构规范说明 foquanlin@163.com 2016年9月 文档信息 文档编号: 文档名称: 系统架构规范说明 文档类别: 规范类 密 级: 普通 版本信息: V0.5 建立日期: 2016 ...
- C# 代码注释规范文档
C# 提供一种机制,使程序员可以使用含有 XML 文本的特殊注释语法为他们的代码编写文档.在源代码文件中,具有某种格式的注释可用于指导某个工具根据这些注释和它们后面的源代码元素生成 XML.使用这类语 ...
- delphi编码规范文档
delphi编码规范文档 目录 1.前言 3 2.源程序书写规范 3 2.1通用源代码格式规范 3 2.1.1缩进 3 2.1.2边距 3 2.1.3 Begin-End语句 3 2.1.4注释 4 ...
最新文章
- 魅族建立基于M8的Android开源项目
- 怎么用numpy读取excel的数据画三维图_python初学者,如何快速匹配excel任务
- MyBatis 源码分析 - 映射文件解析过程
- 如何让Element UI的Message消息提示每次只弹出一个
- javascript中String的fromCharCode()方法
- iphone-common-codes-ccteam源代码 CCNSArray.m
- 译-使用Scroll Snapping实现CSS控制页面滚动
- 施工工期计算器在线_办公室装修工期要多久时间,办公室快速装修怎么做?
- 关系型数据库(八),数据库其他面试题
- Atitit 存储与数据库性能调优流程目录1. 数据库出现性能瓶颈,对外表现有几个方面:
- python爬虫框架scrapy案例分析
- 杭州邮政编码一览表|杭州邮编|杭州邮编查询
- Ruckus R500 AP设置
- 校园网下,虚拟机IP与主机IP不一致及nfs挂载
- 表单checkbook获取已选择的值
- ubuntu基础命令总结
- ​历经 33 天,终于拿到了心仪的 Offer
- Tik Tok月活12亿 Tiktok和抖音有什么不同 ?
- Latex中的特殊符号
- JAVA练习题17:文字版格斗游戏
热门文章
- 数据库系统——B+树索引
- Linux多进程开发(三)进程创建之守护进程的学习
- 总算会用sphinx生成文档了
- JSP内置对象—session
- 第一个 Hello Worlds ,打开 opener_server.pl 的大门。OPener_Server 第 3 弹
- 基础排序算法(冒泡排序,选择排序,插入排序)
- 已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: SSL Provider, error: 0 - 接收到的消息异常,或格式不正确。)...
- Gentoo下keepalived+LVS实验
- O(N)的时间复杂度找出a[N]中那个重复的数字
- 建站常用13种PHP开源CMS比较