现在qq或者微信,甚至微博都有一个功能,就是在用户有未读消息时,在桌面图标右上角显示一个红色的小气泡,里面显示未读消息数量,在桌面图标显示的功能主要是利用广播来通知launcher,具体实现网上有不少内容,本文简单介绍下在应用内部的实现;
首先,右上的圆形气泡其实是一个textview,参考网上一个比较流行的开源代码 (地址https://github.com/stefanjauker/BadgeView),该项目提供了一个jar包,不过这种小功能应该代码量不多,打开源码发现就是一个自定义view类。
该扩展使用方法也相当简单,首先确定要添加气泡的view ,然后
final BadgeView badgeView = new BadgeView(this);
badgeView.setTargetView(target);
badgeView.setBadgeCount(3);
显示效果如图:
下面分析一下源码: