继承自Button的一个控件,小红点和数字,是直接绘制到Canvas上的,老是在右上角。之看以看起来,角标已经超出了Button,是由于在绘制Button的时候,对Canvas进行了缩放。譬如:html
[html] view plain copyjava
这样的一个NotificationButton,设置的宽和高为100dp方形,circleSize,就是小红点的大小,为12dp。这样设置的话,实际上,你看到的Button的大小,只有88dp,是总的宽度减去小红点的大小。android
在android studio中引用:git
[plain] view plain copygithub
而后在布局文件中:app
[html] view plain copyide
由于它是继承自Button,全部Button的属性,均可以使用。除些以外,还有三个自定义属性:布局
[html] view plain copyspa
而后是在java代码中:.net
[java] view plain copy
只有一个方法,setNotificationNumber方法,设置了它,就能够直接显示通知数量了,
大于99的,显示99+,
小于等于0的,不显示。
源代码地址: