android: 我的drawable文件命名规则

如果使用xml文件来给各种控件设置背景,那么就会出现一个问题:

随着项目不断维护升级,最后会出现很多各种背景,然而,如果都按照控件用途来命名,会很难发现那些本来可以重用的xml文件,导致写出一堆的重复代码。

解决办法就是统一命名规则,最好符合以下要求:

  • 不同点开xml文件,一眼就能看出它的各种特征,包括:形状/圆角大小/填充色/边框色等等。
  • 类似的文件符号名字排序分类规律,能够快速定位查找。比如形状一样的都在一起。
  • 文件名不用太长,太长找起来也累。

虽然有一个很好用的selector自动生成插件 android-selector-chapek ,但是它需要符合它的命名规则,要指定各种状态,而我们随着开发不断增改需求,可能之前的pressed状态会成为其他按钮的normal状态,还是会出现重复,所以决定不使用。

最后总结的shape和selector命名规则如下:

Shape


  • rectangle:

rect_radius_[_tl_tr_bl_br]_colorSolid[light]_colorStroke[dark]

解释:
tl:topLeft
br:bottomRight
举例:
rect_16_tl_tr_bluelight_greendark
一个左上-右下圆角为16dp,填充色为浅蓝色,边框为深绿色的shape

  • oval

ovalName_size1_[size2]_solidColor_strokeColor

  • circle:
    circle_size_solidColor_strokeColor
    举例:circle_24_redlight_reddark
  • oval:
    oval_width_height_solidColor_strokeColor
    举例:oval_24_16_yellowlight_bluedark

其他的line、ring用的比较少,其实规则也类似。

Selector


sel_shapeName_radius_[stroke]_[tl_tr_bl_br]_normalSolidColor_pressedSolidColor

解释:
shapeName: 形状名,可选:rect/circle/ovald等等
radius: 圆角大小
stroke: 是否包含边框
normalSolidColor: 普通状态下的填充色
pressedSolidColor: 按下状态下的填充色
举例:
sel_rect_6_stoke_white_blue 一个圆角大小为6dp包含边框,普通状态白色,按下时蓝色的selector。

终于,drawable目录下的世界清净了!

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • UIBezierPath Class Reference 译:UIBezierPath类封装了Core Graph...
    鋼鉄侠阅读 2,001评论 0赞 3
  • 你是否曾抱怨过产品经理,为什么一个app里面按钮正常/按下状态颜色不统一起来?你是否曾埋怨过UI,为什么不同地方输...
    chuwe1阅读 2,901评论 2赞 28
  • 因为在iOS中视图的切角是很容易的,包括边框的颜色,圆角的弧度等等很容易设置,但是在HS2.0中Android开发...
    小白猿阅读 1,540评论 1赞 2
  • 晨雨,昆明 最近一直都在下雨,友圈里都说云南的天漏了,要拿水泥补补。 扯远了,拉回来,但是话题也和我们云南有关,先...
    啊常的简书阅读 282评论 0赞 5

友情链接更多精彩内容