关于Android开发的规范性

一、图片资源

      背景:

1.无状态的背景:

  • 一般是某个界面的主题背景,或某个区域的背景,不随其状态而改变

如:bg_main 主界面背景 ,bg_login登录界面背景等等

2.有状态背景:

  • bg_描述_状态1[_状态2],这种图片,面积相对比较少,主要用于控件上的不同状态,而且在layout配置文件当中,一般不会直接引用,而是通过定义"selector"文件的方式引用,实现动态变换的效果,而"selector"的文件名字,可以直接取"bg_描述_selector.xml";
  • 如:bg_chatto_normal,bg_chatto_pressed 聊天右边边气泡区域背景

  • 另外一种写法是:chatto_bg_normal,chatto_bg_pressed(微信的写法)

  • 这两种写法各有优缺点,即总分和分总的区别,对于小范围的这种图片,使用后者更为方便,这样做可以减少<bg_描述> 这类图片的数量,便于查找和区分

       图标:

  • ic_描述,这种图片,一般用于单个图标或是起标识作用,如九宫格上的图标,listview上的小图标等;

       按扭:

  • btn_描述_状态1[_状态2],主要用于表示按扭的不同状态,一般也是通过selector方式进行引用,有3态和6态之分,通常情况切图给两张:_normal(普通状态),_pressed(按下状态);

       选择框:

  • chx_描述_状态1[_状态2],选择框,一般有2态和4态;

      △状态 

  • 一般用下面的单词作为结尾表示:

      _normal或_nor(普通状态),

      _pressed(按下状态),

      _focused(焦点状态),

      _checked(选中状态,选择按钮的选中等),

      _selected(选中状态, 列表选中某项等),

      _disabled(禁用状态,一般只是按钮不可点,选中框不可选中) 

      △描述 

  • 这个根据个人对界面层次的理解不同,命名也会不同,一般先描述所归属的大模块,再把具体用途用简洁的单词描述出来,尽量使人望文生义       

       PS

   对于.9图,不管是Android程序,还是UI设计都不会陌生,但有些细节有必要提出来说一下:

         .9(Nine-patch)图是Android系统中非常重要的一个图形组件。为了最优化的图形显示,官方建议提供所有屏幕密度的.9图(mdpi、hdpi、xhdpi等)。如果您为了偷懒只提供某一种屏幕密度的图(比如 大部分应用都只提供了hdpi的图),则需要准守如下两个原则:

  • 可拉伸区域距离边框要有(2-4像素的)间距
  • 可拉伸区域的长度最少值为2-4像素


二、自定义布局资源

   1.Layout:

  • 如果当前的xml文件,是用作activty的contentview的,就用“layout_描述.xml”,
  • 如果是局部布局,可以写成这样子:“chatto_layout_voice.xml”,其好处同bg的第二种写法有相似之处。
  • 如果其他子布局包含在其他大布局之中,那么子布局可以命名:其他子布局包含在其他大布局之中:“include_模块.xml”

   2.Dialog:

  •  同上,用"dialog_描述.xml" ;

   3.列表项:

  • 如果是表示listview中的每一项的布局文件,可以用“list_item_描述.xml”同理,gridview的每一项用"grid_item_描述.xml";

三、控件命名(id)

      xml中id的命名,建议直接根据意义命名,不必使用以上复杂的定位,因为findViewById只在某指定layout中find,这点很重要,多个布局里面相同名称无所谓。

个人习惯使用:android:id="@id/tv_name"android:id="@id/lv_name"、android:id="@id/tv_title",然后在class里的命名和id名字保持一致,,但是改为驼峰式命名。

四、字符串资源

   这里主要有一个原则,就是字符串的资源定义,最好不要跟title、dialog、button等东西关系起来,直接用相同英文含义就可以了,如果下:

  <!-- 选择 -->
    <string name="confirm">确认</string>
    <string name="affirm">确定</string>
    <string name="cancel">取消</string>
    <string name="back">返回</string>
    <string name="agree">同意</string>
    <string name="reject">拒绝</string>
    <string name="ignore">忽略</string>
    <string name="open">开启</string>
    <string name="close">关闭</string>
    <string name="on">开</string>
    <string name="off">关</string>
    <string name="yes">是</string>
    <string name="no">否</string>
查看更多

先写这么多吧,代码的规范性有时间也会总结一下,规范性可能要慢慢去提升,逐渐摸索出更优的方案。


参考:http://blog.chengyunfeng.com/?p=507



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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值