Android:命名资源

这是Android开发人员的一个问题,但它不是一个与编程相关的问题,因为它只影响开发人员.

命名各种资源(如颜色,绘图和字符串等)时最常用的约定是什么?

我毫不怀疑命名我的布局activity_main或layout_secondary.但是,我一直怀疑前面提到的命名资源.我不知道在使用它们或内容后是否应该命名这些资源.例如:

>颜色:dark_blue vs text_highlighted
> Drawable:blue_gradient vs top_bar_background
>字符串:welcome_to_app vs first_time_prompt

是否有任何社区创建的良好实践资源?

最佳答案
命名几乎是个人偏好.只要名称表明所定义事物的功能是什么,名称就是完美的.此外,您和使用这些定义的任何其他开发人员应该知道名称的含义以及选择的定义.如果您在整个项目中与名称保持一致,那将非常简单.

例如,dark_blue显然是蓝色,而text_highlighted是突出显示文本的颜色.您应该使用的名称取决于您需要的名称:如果您想按名称对颜色进行分类,请先使用第一个,如果您想从实际颜色中抽象出第二个.对于使用text_highlighted的一般布局通常会更有意义,因为实际颜色无关紧要,功能(文本高亮与文本常规等)更重要.在这个例子中,text_highlighted和text_regular之间的选择比在color_light_blue和color_dark_blue之间选择要明显得多,尽管它们可以引用相同的颜色.该名称可以帮助防止错误.

Android在[android.R.drawable]中为名称使用前缀
(http://developer.android.com/reference/android/R.drawable.html)例如:

> btn_用于按钮图形
> ic_用于图标图形

> ic_menu_用于菜单图标
> ic_dialog_用于对话框图标

> stat_表示状态图标

模式肯定不完美,但使用以最通用的分类开头的前缀的优点是您可以使用代码完成来逐步搜索特定项目.所以color_blue_dark可能比dark_blue_color更好,至少如果你认为颜色分类比暗/浅分类更重要.这同样适用于first_time_prompt.如果您有很多提示,将它们命名为prompt_first_time,promt_other_time,……如果它们可以按活动分类,例如可以用作超类别:mainactivity_prompt_ *,secondactivity_prompt_ *,这样您就知道它们属于哪里至.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...