最近做的项目,要求图标的右上角能显示未读消息的数量,也就像微信的未读消息一样的效果。
没有做过,之前一直这样的效果好是申请,怎么图标的右上角会出现一个圆圈,然后圆圈里面有数字呢。
只有经历,才能懂得。
我使用过两种方法,分别显示效果,如下图:
很明显,下侧那个图标效果更美妙(请忽视红色圆圈太大,其实是可以设置小点的,原谅我写的教程太懒,么么哒~~)
上侧的图标效果,比较僵化,不容易修改。
下面分别介绍两者实现原理
图标1
这里使用到知识点Bitmap、Canvas、Paint,可以说运用到了所有Android的画图知识。
首先,右上角的未读消息是在已有的图标基础上画出来的。 这种做法比较低级,换个角度讲不适合运用到前文提到的效果。
图标2
FrameLayout布局,也就是图片可以叠着,一张贴在一张上面。这样的好处是,红色背景,会随数字位数大小而改变宽度。而图标1的做法,改变数字位数大小,同时需要改变位置参数,很麻烦。
具体还是看代码吧,资源我已经打包出来:点击打开链接