Github开源控件BadgeView(消息数字提醒)
2015-12-12 19:06
441 查看
相信大家经常会看到QQ上的红色的消息数字提醒,其实在我们的APP上可以使用github上的开源控件BadgeView来实现这种效果
一、下载
Github地址:
https://github.com/stefanjauker/BadgeView
下载解压后目录结构:
BadgeView——-为lib包
BadgeViewDemo——–实例
badgeview.jar————jar包
二、使用方式
1、导入lib包
通过Import到lib包(和项目在同一目录下)
通过右键项目——>properties——->android—–>Add添加Library
2、导入jar包
将上述jar包导入项目libs文件夹下
3、将lib包中的BadgeView类复制到项目中,或在项目中重写
三、BadgeView详解
BadgeView继承自TextView
3个构造函数:
初始化:
方法:
由于BadgeView继承自TextView,所以TextView所具有的方法BadgeView也有,如setText(),setTextSize()等等
实例:
一、下载
Github地址:
https://github.com/stefanjauker/BadgeView
下载解压后目录结构:
BadgeView——-为lib包
BadgeViewDemo——–实例
badgeview.jar————jar包
二、使用方式
1、导入lib包
通过Import到lib包(和项目在同一目录下)
通过右键项目——>properties——->android—–>Add添加Library
2、导入jar包
将上述jar包导入项目libs文件夹下
3、将lib包中的BadgeView类复制到项目中,或在项目中重写
三、BadgeView详解
BadgeView继承自TextView
public class BadgeView extends TextView { ..... }
3个构造函数:
public BadgeView(Context context) {//1参 ... } public BadgeView(Context context, AttributeSet attrs) {//2参 ... } public BadgeView(Context context, AttributeSet attrs, int defStyle) {//3参 ... }
初始化:
BadgeView badgeView=new BadgeView(MainActivity.this);
方法:
setBadgeCount(int count) //设置提醒数字 setBackground(int dipRadius, int badgeColor) //设置背景色 setBackgroundResource(int resid) //设置背景图片 setBadgeGravity(int gravity) //设置显示位置 setTargetView(View target) //设置在哪个控件显示BadgeView setBadgeMargin(int dipMargin) //设置与周边的边距,dipMargin值为4个方向的距离(像素dp), setBadgeMargin(int leftDipMargin, int topDipMargin,int rightDipMargin, int bottomDipMargin)//设置显示位置(像素)
由于BadgeView继承自TextView,所以TextView所具有的方法BadgeView也有,如setText(),setTextSize()等等
实例:
Button button=(Button)findViewById(R.id.mbutton); BadgeView badgeView = new BadgeView(MainActivity.this); badgeView.setBadgeGravity(Gravity.LEFT | Gravity.BOTTOM); badgeView.setBadgeCount(88); badgeView.setBackgroundResource(R.drawable.badge_blue); badgeView.setTargetView(button);
View textStyleView = layout.findViewById(R.id.textStyle); BadgeView badgeView = new BadgeView(this); badgeView.setBadgeCount(18); badgeView.setTypeface(Typeface.create(Typeface.SANS_SERIF, Typeface.ITALIC)); badgeView.setShadowLayer(2, -1, -1, Color.GREEN); badgeView.setTargetView(textStyleView);
Button mButton =(Button)findViewById(R.id.button); BadgeView badgeView = new BadgeView(this); badgeView.setBadgeCount(47); badgeView.setBackground(12, Color.parseColor("#9b2eef")); badgeView.setTargetView(mButton);
相关文章推荐
- php 小计----常量名称和值的在单双引号中的搭配使用
- C#学习之文件传输
- Java排序
- TreeSet与TreeMap的源码分析 JDK7
- php运算符
- 《Qt 实战一二三》
- 《Qt 实战一二三》
- openGL编程
- 魔兽世界之一:备战(C++程序设计第3周)
- 关于Java Script中一些基本概念
- Java中Runtime和Properties
- 使用c++11写个最简跨平台线程池
- C++中的istringstream 的用法
- 类与对象编程题3(C++程序设计第3周)
- Java 类属性继承关系
- 类与对象编程题2(C++程序设计第3周)
- python(3)模块、函数式 、三元运算、Lambda表达式、序列化,正则
- Java中获取文件大小的正确方法
- C#_索引器的使用
- 类与对象编程题1(C++程序设计第3周)