圖標顯示未讀消息數量

最近做的項目,要求圖標的右上角能顯示未讀消息的數量,也就像微信的未讀消息一樣的效果。

沒有做過,之前一直這樣的效果好是申請,怎麼圖標的右上角會出現一個圓圈,然後圓圈裏面有數字呢。

只有經歷,才能懂得。


我使用過兩種方法,分別顯示效果,如下圖:



很明顯,下側那個圖標效果更美妙(請忽視紅色圓圈太大,其實是可以設置小點的,原諒我寫的教程太懶,麼麼噠~~)

上側的圖標效果,比較僵化,不容易修改。


下面分別介紹兩者實現原理

圖標1

這裏使用到知識點Bitmap、Canvas、Paint,可以說運用到了所有Android的畫圖知識。

首先,右上角的未讀消息是在已有的圖標基礎上畫出來的。 這種做法比較低級,換個角度講不適合運用到前文提到的效果。


圖標2

FrameLayout佈局,也就是圖片可以疊着,一張貼在一張上面。這樣的好處是,紅色背景,會隨數字位數大小而改變寬度。而圖標1的做法,改變數字位數大小,同時需要改變位置參數,很麻煩。


具體還是看代碼吧,資源我已經打包出來:點擊打開鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章