2018-09-26【Android仿微信未读消息数提示数字之B

2018-09-26  本文已影响64人  mahongyin

给View添加一个角标---ViewBadger的使用

开源地址:https://github.com/jgilfelt/android-viewbadger

1、设置文字样式角标

ImageView iv = (ImageView) findViewById(R.id.jiaobiao_iv);

BadgeView badgeView =newBadgeView(this, iv);// 将需要设置角标的View 传递进去

badgeView.setBadgePosition(BadgeView.POSITION_TOP_RIGHT);// 设置在右上角

badgeView.setTextSize(9);// 设置文本大小

badgeView.setBadgePosition(BadgeView.POSITION_TOP_RIGHT);// 设置在右上角

badgeView.setText("5");// 设置要显示的文本

badgeView.show();// 将角标显示出来

2、设置图片样式的角标

BadgeView实际上是一个TextView,我们可以在代码中不去设置它的Text,仅仅设置它的Background,

就可以实现一个图片样式的角标。

ImageView iv = (ImageView) findViewById(R.id.jiaobiao_iv);

BadgeView badgeView =newBadgeView(this, iv);

badgeView.setBackgroundResource(R.drawable.jb);// 设置角标的背景

badgeView.setBadgePosition(BadgeView.POSITION_TOP_RIGHT);// 设置在右上角

badgeView.setBadgeMargin(0,0);// 设置水平和垂直方向的Margin(默认距边界有一定的距离)

badgeView.show();// 将角标显示出来

没事在整理以前上班收藏的一些笔记,发现其中的关键字部分有个 BadgeView 不知道是什么东东,于是乎搜了下,发现也是一个项目中很常用的功能。比如:

 这样的,很常见。

这是官方的demo效果 :https://github.com/qstumn/BadgeView

一些特性

随意定制外观,包括Badge位置、底色、边框、阴影、文字颜色(支持透明色)、大小、内外边距等

Badge数字小于0时显示dot,等于0时隐藏整个Badge,在普通模式下超过99时显示99+,精确模式下显示具体值

支持设置文本内容

支持设置图片背景

支持类似QQ的拖拽消除效果(默认关闭)

支持以动画的方式隐藏Badge

添加依赖:

compile ‘q.rorbin:badgeview:1.1.2’

调用:

TextView textview = (TextView) findViewById(R.id.textview);new QBadgeView(this).bindTarget(textview).setBadgeNumber(12);

1

2

API:

---------------------本文来自 帅气大果果 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/qq_34471736/article/details/77645953?utm_source=copy

注意事项:

请不要在xml中创建Badge

Badge和TargetView绑定是采用替换TargetView的Parent方式实现的,同时将Parent的Id和TargetView的Id设置成一样来保证不会在RelativeLayout中出现位置错乱问题,所以在bindTarget后再次使用findViewById(TargetViewId)得到的会是Parent而不是TargetView,此时建议使用Badge.getTargetView方法来获取TargetView

这是将官方demo精简后的

源码

上一篇下一篇

猜你喜欢

热点阅读