GitHub控件之BadgeView(数字提醒)

数字提醒大家肯定都见识过。QQ、微信等app中如果有消息或者提醒的时候,就会展现给用户一个红点或者带有数字的点。前段时间微信上流行把自己的头像换成带有数字提醒的头像,让那些有强迫症的人真是抓狂。

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

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

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

BadgeView badgeView = new com.jauker.widget.BadgeView(this);
badgeView.setTargetView(textView);
badgeView.setBadgeCount(3);

看一下badgeview中常用的方法:

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

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

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

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

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

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

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

badgeView = new BadgeView(this);
		badgeView.setTargetView(layout);
		badgeView.setBackground(12, Color.parseColor("#9b2eef"));
		badgeView.setText("提示");
badgeView = new BadgeView(this);
		badgeView.setTargetView(layout);
		badgeView.setBadgeGravity(Gravity.BOTTOM | Gravity.CENTER);
		badgeView.setBadgeCount(4);
badgeView = new BadgeView(this);
		badgeView.setTargetView(layout);
		badgeView.setBadgeGravity(Gravity.TOP | Gravity.LEFT);
		badgeView.setTypeface(Typeface.create(Typeface.SANS_SERIF,
				Typeface.ITALIC));
		badgeView.setShadowLayer(2, -1, -1, Color.GREEN);
		badgeView.setBadgeCount(2);

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

OK。效果实现完毕。

BadgeView下载链接

badgeview.jar下载

DEMO下载

时间: 2024-10-11 03:25:18

GitHub控件之BadgeView(数字提醒)的相关文章

控件之BadgeView(数字提醒

#控件之BadgeView(数字提醒) BadgeView badgeView = new BadgeView(this); //显示在控件上VIEW badgeView.setTargetView((View)view.getParent()); //显示数字 badgeView.setText(i+""); 看一下badgeview中常用的方法: 1. setTargetView(View) --> 设置哪个控件显示数字提醒,参数就是一个view对象 2. setBadgeC

QLineEdit控件只能输入数字--QValidator结合正则

//QValidator + 正则实现限制LineEdit控件只能输入数字 void ModelManagerDlg::LimitLineEditInputJustInt(QLineEdit* widget) { QRegExp regx("[0-9]+$"); QValidator* validator = new QRegExpValidator(regx, widget); widget->setValidator(validator); } 如上述代码所示,只能输入数字,

桌面小控件的实例-----数字时钟

为了实现一个数字时钟的桌面组件,开发者需要在程序界面上定义8个ImageView,其中6个ImageView用于显示小时.分钟.秒钟的数字,另外两个ImageView用于显示小时.分钟.秒钟之间的冒号. 为了让桌面组件实时的显示当前时间,程序需要每个1秒更新一次程序界面上的6个ImageView,让它们显示当前小时.分钟.秒钟的数字即可. import java.text.SimpleDateFormat;import java.util.Date;import java.util.Timer;

C# TextBox控件只能输入数字

只需要在控件TextBox的keypress事件中写入如下代码即可满足要求: 代码如下: if (e.KeyChar == '.' && this.txbEnd.Text.IndexOf(".") != -1) { e.Handled = true; } if (!((e.KeyChar >= 48 && e.KeyChar <= 57) || e.KeyChar == '.' || e.KeyChar == 8)) { e.Handled

DuiVision开发教程(14)-DUI控件基础类

DuiVision所有控件的基类是CControlBase类. CControlBase的属性如下表: 属性名 类型 说明 show 1|0 控件是否可见 disable 1|0 控件是否被禁用 pos 位置 控件的位置坐标,可以是左上角坐标,例如10,10,也可以是左上角+右下角坐标,例如10,10,200,100.支持正值和负值,正值表示从父控件左上角开始计算的值,负值表示从父控件右下角开始计算的值,例如-10,10表示从右边往左10像素,从上往下10像素的位置.也可以支持从父控件中间开始计

限制文本控件输入数据格式

1 // = 比如只能输入数字.字母.数字和字母 2 3 <script type="text/javascript"> 4 UM.getEditor('myEditor1') 5 6 $(function () { 7 8 // ---------------------------------------------------------------------- 9 // <summary> 10 // 限制只能输入字母 11 // </summa

IE11使用 ActiveX 控件

解决方案: ActiveX 控件 ActiveX 控件是一些小应用,网站可以使用这类小应用提供视频和游戏等内容. 浏览 Web 时,你也可以使用这些小应用与工具栏和股票行情等内容进行交互. 但是,这些应用有时可能出现问题,或者向你提供不需要的内容. 某些情况下,这些应用可以用来从你的电脑收集信息.破坏电脑上的信息.在未获得你同意的情况下在你的电脑上安装软件或允许其他人远程控制你的电脑. ActiveX 筛选 Internet Explorer 中的 ActiveX 筛选可防止网站安装和使用这些应

C#WinForm如何调整控件的Tab按键顺序

在日常生活中,很多用户都会有使用Tab键的习惯.而在C#的WinForm开发中,Tab按键的顺序默认是你拖拽进窗体的顺序.那么我们如何修改这个顺序呢?答案如下(以VS2010为例). 只需要点击[视图]--[Tab键顺序],点击后会出现图2的效果,只需要用鼠标点击控件上的数字即可调整Tab顺序. 图1 图2

iOS学习笔记1--在xcode6以上的版本中不使用storyboard以及部分控件使用

首先建立一个iOS新工程,删除工程自动建立的main.storyboard以及xib文件,并且在info.plist上删除这两个选项 然后在项目配置中将maninterface设置为空,将launch screen file设置为空,新建一个view,命名为ViewController,因为此时已经有自动生成的类ViewController,所以不用新建类 建立新建xib文件和类的连接,将file own的class修改为ViewControll,修改完成之后才能进行下一步 连接新建的xib文件