Skip to content

Commit d909d91

Browse files
author
Blankj
committed
modify some
1 parent bacb1f8 commit d909d91

1 file changed

Lines changed: 83 additions & 31 deletions

File tree

README.md

Lines changed: 83 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -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) {
535586
3. 不要忘了内存泄漏的检测
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

Comments
 (0)