小紅點功能控件

寫在前面

本意是想把作過的東西沉澱一下,防止重複造輪子。後來想一想本身在實現這個的過程當中仍是走了一點彎路的。雖然網上找的輪子不少,其實大多都華而不實或者功能太多,工做中實現的東西最重要的不是功能炫,而是穩定,一旦需求變動或者出了BUG要負責維護,過多的功能會在後期維護的時候形成很大困擾,使用者須要review整個控件的邏輯才能去修改一個小點,所以封裝好了一份最簡單功能的紅點控件開源出來,在一些關鍵點都寫了註釋,方便使用者後期DIY。git

實現效果

實現功能點

如下實現功能點都有API直接設置github

  • 修改紅點顏色
  • 修改顯示字體大小
  • 修改字體顏色
  • 顯示最大字數(超過最大字數會從圓形變成圓角矩形)
  • 顯示紅點,文字,圓角矩形
  • 消失

未實現功能點

  • 根據字體大小或者長度自動適配圓角矩形長度
  • 根據xml配置各類屬性
  • 不支持wrap_content
  • 當形狀爲矩形時,紅點出現的位置(如今默認出如今左側)不能改變

實現思路

重寫onDraw方法,調用canvas進行繪製,其他都是一些繪製邏輯,註釋中都有寫。canvas

下載地址

github.com/yuwang00/Al…字體

相關文章
相關標籤/搜索