@@ -212,7 +212,7 @@ public class MyClass {
212212
213213单个的大写字母,后面可以跟一个数字(如:E, T, X, T2)。
214214
215- 以类命名方式(参考 [ 2 . 类名] ( #2.类名 ) ),后面加个大写的T(如:RequestT, FooBarT)。
215+ 以类命名方式(参考2 . 类名),后面加个大写的T(如:RequestT, FooBarT)。
216216
217217
218218更多还可参考~[ 阿里巴巴Java开发手册] [ 阿里巴巴Java开发手册 ]
@@ -223,42 +223,75 @@ public class MyClass {
223223#### 1. 资源布局文件(XML文件(layout布局文件))
224224
225225全部小写,采用下划线命名法
226- 1 ) contentview 命名
226+
227+ ##### 1) contentview 命名
228+
227229必须以全部单词小写,单词间以下划线分割,使用名词或名词词组。
230+
228231所有Activity或Fragment的contentView必须与其类名对应,对应规则为:
232+
229233将所有字母都转为小写,将类型和功能调换(也就是后缀变前缀)。
234+
230235例如:` activity_main.xml `
231- 2 ) Dialog命名:` dialog_描述.xml `
236+
237+
238+ ##### 2) Dialog命名:` dialog_描述.xml `
239+
232240例如:` dialog_hint.xml `
233- 3 ) PopupWindow命名:` ppw_描述.xml `
241+
242+
243+ ##### 3) PopupWindow命名:` ppw_描述.xml `
244+
234245例如:` ppw_info.xml `
235- 4 ) 列表项命名:` item_描述.xml `
246+
247+
248+ ##### 4) 列表项命名:` item_描述.xml `
249+
236250例如:` item_city.xml `
237- 5 ) 包含项命名:` 模块_(位置)描述.xml `
251+
252+
253+ ##### 5) 包含项命名:` 模块_(位置)描述.xml `
254+
238255例如:` activity_main_head.xml ` 、` activity_main_bottom.xml `
256+
239257注意:通用的包含项命名采用:` 项目名称缩写_描述.xml `
258+
240259例如:` xxxx_title.xml `
241260
242261
243262#### 2. 资源文件(图片drawable文件夹下)
244263
245264全部小写,采用下划线命名法,加前缀区分
265+
246266命名模式:可加后缀 ` _small ` 表示小图, ` _big ` 表示大图,逻辑名称可由多个单词加下划线组成,采用以下规则:
267+
247268` 用途_模块名_逻辑名称 `
248269` 用途_模块名_颜色 `
249270` 用途_逻辑名称 `
250271` 用途_颜色 `
272+
251273说明:用途也指控件类型(具体见UI控件缩写表)
274+
252275例如:
276+
253277` btn_main_home.png ` 按键
278+
254279` divider_maket_white.png ` 分割线
280+
255281` ic_edit.png ` 图标
282+
256283` bg_main.png ` 背景
284+
257285` btn_red.png ` 红色按键
286+
258287` btn_red_big.png ` 红色大按键
288+
259289` ic_head_small.png ` 小头像
290+
260291` bg_input.png ` 输入框背景
292+
261293` divider_white.png ` 白色分割线
294+
262295如果有多种形态如按钮等除外如 ` btn_xx.xml ` (selector)
263296
264297| 名称 | 功能 |
@@ -280,20 +313,25 @@ public class MyClass {
280313| ` seg_list_line ` | 具有分隔特征的图片使用` seg_功能_说明 ` |
281314| ` sel_ok ` | 选择图标使用` sel_功能_说明 ` |
282315
283- 注意:
284- 使用AndroidStudio的插件SelectorChapek可以快速生成selector,前提是命名要规范。
316+ > 注意:使用AndroidStudio的插件SelectorChapek可以快速生成selector,前提是命名要规范。
285317
286318
287319#### 3. 动画文件(anim文件夹下)
288320
289321全部小写,采用下划线命名法,加前缀区分。
322+
290323具体动画采用以下规则:
324+
291325` 模块名_逻辑名称 `
326+
292327逻辑名称
328+
293329` refresh_progress.xml `
294330` market_cart_add.xml `
295331` market_cart_remove.xml `
332+
296333普通的tween动画采用如下表格中的命名方式
334+
297335// 前面为动画的类型,后面为方向
298336
299337| 动画命名例子 | 规范写法 |
@@ -311,7 +349,9 @@ public class MyClass {
311349
312350#### 4. values中name命名
313351
314- * colors.xml: colors的name命名使用下划线命名法,在你的` colors.xml ` 文件中应该只是映射颜色的名称一个ARGB值,而没有其它的。不要使用它为不同的按钮来定义ARGB值。
352+ ##### 1) colors.xml
353+
354+ colors的name命名使用下划线命名法,在你的` colors.xml ` 文件中应该只是映射颜色的名称一个ARGB值,而没有其它的。不要使用它为不同的按钮来定义ARGB值。
315355
316356* 不要这样做*
317357
@@ -352,7 +392,10 @@ public class MyClass {
352392
353393向应用设计者那里要这个调色板,名称不需要跟"green", "blue", 等等相同。 "brand_primary", "brand_secondary", "brand_negative" 这样的名字也是完全可以接受的。 像这样规范的颜色很容易修改或重构,会使应用一共使用了多少种不同的颜色变得非常清晰。 通常一个具有审美价值的UI来说,减少使用颜色的种类是非常重要的。
354394
355- * dimens.xml: 像对待colors.xml一样对待dimens.xml文件 与定义颜色调色板一样,你同时也应该定义一个空隙间隔和字体大小的“调色板”。 一个好的例子,如下所示:
395+
396+ ##### 2) dimens.xml
397+
398+ 像对待colors.xml一样对待dimens.xml文件 与定义颜色调色板一样,你同时也应该定义一个空隙间隔和字体大小的“调色板”。 一个好的例子,如下所示:
356399
357400``` xml
358401<resources >
@@ -381,17 +424,25 @@ public class MyClass {
381424
382425布局时在写 margins 和 paddings 时,你应该使用spacing_xxxx尺寸格式来布局,而不是像对待String字符串一样直接写值。 这样写会非常有感觉,会使组织和改变风格或布局是非常容易。
383426
384- * strings.xml: strings的name命名使用下划线命名法,采用以下规则:模块名+逻辑名称
385- 例如:
386- main_menu_about 主菜单按键文字
387- friend_title 好友模块标题栏
388- friend_dialog_del 好友删除提示
389- login_check_email 登录验证
390- dialog_title 弹出框标题
391- button_ok 确认键
392- loading 加载文字
393427
394- * styles.xml: 几乎每个项目都需要适当的使用style文件,因为对于一个视图来说有一个重复的外观是很常见的,将所有的外观细节属性(colors, padding, font)放在style文件中。 在应用中对于大多数文本内容,最起码你应该有一个通用的style文件,例如:
428+ ##### 3) strings.xml
429+
430+ strings的name命名使用下划线命名法,采用以下规则:模块名+逻辑名称
431+
432+ 例如:
433+
434+ ` main_menu_about ` 主菜单按键文字
435+ ` friend_title ` 好友模块标题栏
436+ ` friend_dialog_del ` 好友删除提示
437+ ` login_check_email ` 登录验证
438+ ` dialog_title ` 弹出框标题
439+ ` button_ok ` 确认键
440+ ` loading ` 加载文字
441+
442+
443+ ##### 4) styles.xml
444+
445+ 几乎每个项目都需要适当的使用style文件,因为对于一个视图来说有一个重复的外观是很常见的,将所有的外观细节属性(colors, padding, font)放在style文件中。 在应用中对于大多数文本内容,最起码你应该有一个通用的style文件,例如:
395446
396447```
397448<style name="ContentText">
@@ -535,17 +586,6 @@ public static byte[] bitmap2Bytes(Bitmap bitmap, CompressFormat format) {
5355863 . 不要忘了内存泄漏的检测
536587
537588
538- ## 参考
539-
540- [ Android 开发最佳实践] [ Android 开发最佳实践 ]
541-
542- [ Android 编码规范] [ Android 编码规范 ]
543-
544- [ 阿里巴巴Java开发手册] [ 阿里巴巴Java开发手册 ]
545-
546- [ Google Java编程风格指南] [ Google Java编程风格指南 ]
547-
548-
549589## 附录
550590
551591表1 UI控件缩写表
@@ -607,11 +647,23 @@ public static byte[] bitmap2Bytes(Bitmap bitmap, CompressFormat format) {
607647程序中使用单词缩写原则:不要用缩写,除非该缩写是约定俗成的。
608648
609649
650+ ## 参考
651+
652+ [ Android 开发最佳实践] [ Android 开发最佳实践 ]
653+
654+ [ Android 编码规范] [ Android 编码规范 ]
655+
656+ [ 阿里巴巴Java开发手册] [ 阿里巴巴Java开发手册 ]
657+
658+ [ Google Java编程风格指南] [ Google Java编程风格指南 ]
659+
660+
610661## 版本日志
611662
612663* 17/03/06: version1.0, powered by Blankj(蔡梦杰)
613664
614665
666+
615667[ 安卓开发规范(updating) ] : https://github.com/Blankj/AndroidStandardDevelop
616668[ AS常用开发插件 ] : http://www.jianshu.com/p/c76b0d8a642d
617669[ Android Studio下对资源进行分包 ] : http://www.jianshu.com/p/8e893581b9c7
0 commit comments