小红点功能控件

写在前面

本意是想把作过的东西沉淀一下,防止重复造轮子。后来想一想本身在实现这个的过程当中仍是走了一点弯路的。虽然网上找的轮子不少,其实大多都华而不实或者功能太多,工做中实现的东西最重要的不是功能炫,而是稳定,一旦需求变动或者出了BUG要负责维护,过多的功能会在后期维护的时候形成很大困扰,使用者须要review整个控件的逻辑才能去修改一个小点,所以封装好了一份最简单功能的红点控件开源出来,在一些关键点都写了注释,方便使用者后期DIY。git

实现效果

实现功能点

如下实现功能点都有API直接设置github

  • 修改红点颜色
  • 修改显示字体大小
  • 修改字体颜色
  • 显示最大字数(超过最大字数会从圆形变成圆角矩形)
  • 显示红点,文字,圆角矩形
  • 消失

未实现功能点

  • 根据字体大小或者长度自动适配圆角矩形长度
  • 根据xml配置各类属性
  • 不支持wrap_content
  • 当形状为矩形时,红点出现的位置(如今默认出如今左侧)不能改变

实现思路

重写onDraw方法,调用canvas进行绘制,其他都是一些绘制逻辑,注释中都有写。canvas

下载地址

github.com/yuwang00/Al…字体

相关文章
相关标签/搜索