今天给大家分享两个实用有简单的一个小圆球提示气泡:
BadgeView
参考地址: https://github.com/qstumn/BadgeView; 个人地址:http://git.oschina.net/anan9303/QBadgeView
一个可以自由定制外观、支持拖拽消除的MaterialDesign风格Android BadgeView
一些特性
随意定制外观,包括Badge位置、底色、边框、阴影、文字颜色(支持透明色)、大小、内外边距等
Badge数字小于0时显示dot,等于0时隐藏整个Badge,在普通模式下超过99时显示99+,精确模式下显示具体值
支持设置文本内容
支持设置图片背景
支持类似QQ的拖拽消除效果(默认关闭)
支持以动画的方式隐藏Badge
1. gradle
compile 'q.rorbin:badgeview:1.1.2'
2. code
new QBadgeView(context).bindTarget(textview).setBadgeNumber(5);
3. 方法说明
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;