android 中右上角的数字BadgeView

转载自[https://github.com/jgilfelt/android-viewbadger]

最近项目中有用到右上角有数字的效果,上网查了一下记录下来以供以后需要
BadgeView主要是继承了TextView,底层放了一个label,可以自定义背景图,自定义背景颜色,是否显示,显示进入的动画效果以及显示的位置等等;

两张效果图
这里写图片描述
这里写图片描述

构造方法:
这里写图片描述

View target = findViewById(R.id.default_target);
// target要显示的目标view
 BadgeView badge = new BadgeView(this, target);
 badge.setText("1");
 badge.show();

AttributeSet和defStyle分别可以自定义attrs.xml和styles.xml
例如:

<attr name="textStyle">  
        <flag name="normal" value="0" />  
        <flag name="bold" value="1" />  
        <flag name="italic" value="2" />  
    </attr>  

有兴趣的可以百度一下
set方法
这里写图片描述
setBadgePosition(); //设置显示位置;
setBadgeMargin(); //设置边距
setBadgeBackgroundColor(); //设置背景颜色
在BadgeView中定义了5种显示位置:

public static final int POSITION_TOP_LEFT = 1;
public static final int POSITION_TOP_RIGHT = 2;
public static final int POSITION_BOTTOM_LEFT = 3;
public static final int POSITION_BOTTOM_RIGHT = 4;
public static final int POSITION_CENTER = 5;

例子:

  Button btnPosition = (Button) findViewById(R.id.position_target);
  BadgeView badge = new BadgeView(this, btnPosition);
  badge.setText("12");
  badge.setBadgePosition(BadgeView.POSITION_CENTER);
  badge.setBadgeMargin(15, 10);
    badge.setBadgeBackgroundColor(Color.parseColor("#A4C639"));

显示和隐藏
这里写图片描述
这里写图片描述
Hide和Show也分别是隐藏和显示的方法,同样可以带进入和退出的动画效果;动画效果可以自定义
toggle方法
toggle方法是控制动画的显示和隐藏的。
这里写图片描述
toggle(animIn, animOut)方法中,第一个参数是显示时候的动画,第二个参数是隐藏时候的动画。

badge.setBackgroundResource(R.drawable.badge_ifaux);//设置背景图片
badge.setShadowLayer(); //设置字体的阴影
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值