BadgeView自定义数字提醒控件

来源:互联网 发布:网络的利与弊议征文 编辑:程序博客网 时间:2024/04/29 04:06

本项目是一个给view添加红色数字标签的小例子源码,这个开源项目提供了一种简便的方式,能够在运行期对任意给定的Android view添加徽章, 而不必配合它的布局。可添加的标签包括但不限于右上角的红色数字提醒角标。

下面我们就看一下怎么在自己的app中实现这种效果。

    开发者当然可以自己用相对布局来实现这样的效果。一个还好,但是多了呢!就会很繁琐。GitHub上有一个开源的第三方控件,叫做BadgeView。使用它可以很方面的实现想要的效果。

    先来怎么使用,简单的三行代码就可以实现数字提醒:

[java] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. BadgeView badgeView = new com.jauker.widget.BadgeView(this);  
  2. badgeView.setTargetView(textView);  
  3. badgeView.setBadgeCount(3);  

    看一下badgeview中常用的方法:

1. setTargetView(View) --> 设置哪个控件显示数字提醒,参数就是一个view对象

2. setBadgeCount(int) --> 设置提醒的数字

3. setBadgeGravity(Gravity) --> 设置badgeview的显示位置

4. setBackgroundColor() --> 设置badgeview的背景色,当然还可以设置背景图片

5. setBackgroundResource() --> 设置背景图片

6. setTypeface() --> 设置显示的字体

7. setShadowLayer() --> 设置字体的阴影

[java] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. badgeView = new BadgeView(this);  
  2.         badgeView.setTargetView(layout);  
  3.         badgeView.setBackground(12, Color.parseColor("#9b2eef"));  
  4.         badgeView.setText("提示");  

[java] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. badgeView = new BadgeView(this);  
  2.         badgeView.setTargetView(layout);  
  3.         badgeView.setBadgeGravity(Gravity.BOTTOM | Gravity.CENTER);  
  4.         badgeView.setBadgeCount(4);  

[java] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. badgeView = new BadgeView(this);  
  2.         badgeView.setTargetView(layout);  
  3.         badgeView.setBadgeGravity(Gravity.TOP | Gravity.LEFT);  
  4.         badgeView.setTypeface(Typeface.create(Typeface.SANS_SERIF,  
  5.                 Typeface.ITALIC));  
  6.         badgeView.setShadowLayer(2, -1, -1, Color.GREEN);  
  7.         badgeView.setBadgeCount(2);  

    实际上BadgeView这个类就是继承TextView的。很多TextView中设置字体的方法都适用于BadgeView。


    OK。效果实现完毕。

源码下载地址:http://download.csdn.net/detail/yinzhiwei2014/9488906


1 0