BadgeView
一个可以自由定制外观、支持拖拽消除的MaterialDesign风格Android BadgeView
how to use:
1. gradle
compile 'q.rorbin:badgeview:1.1.3'
VERSION_CODE : here
2. code
new QBadgeView(context).bindTarget(textview).setBadgeNumber(5);
3. 方法说明
code | 说明 |
---|---|
setBadgeNumber | 设置Badge数字 |
setBadgeText | 设置Badge文本 |
setBadgeTextSize | 设置文本字体大小 |
setBadgeTextColor | 设置文本颜色 |
setExactMode | 设置是否显示精确模式数值 |
setBadgeGravity | 设置Badge相对于TargetView的位置 |
setGravityOffset | 设置外边距 |
setBadgePadding | 设置内边距 |
setBadgeBackgroundColor | 设置背景色 |
setBadgeBackground | 设置背景图片 |
setShowShadow | 设置是否显示阴影 |
setOnDragStateChangedListener | 打开拖拽消除模式并设置监听 |
stroke | 描边 |
hide | 隐藏Badge |
4.在ListView或者RecyclerView中使用
可参考demo中ListViewActivity、RecyclerViewActivity
5.一些注意事项
- 请不要在xml中创建Badge
- Badge和TargetView绑定是采用替换TargetView的Parent方式实现的,同时将Parent的Id和TargetView的Id设置成一样来保证不会在RelativeLayout中出现位置错乱问题,所以在bindTarget后再次使用findViewById(TargetViewId)得到的会是Parent而不是TargetView,此时建议使用Badge.getTargetView方法来获取TargetView,如果您有更好的解决方式并愿意和我分享,请在Issues中提交给我或者给我发邮件,谢谢。