版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhaihaohao1/article/details/82800681
很多App中会用到数字提示如果
这个效果,很容易实现
下面的这个控件是github上面有人实现的第三方控件BadgeView
大家了解一下如果使用:
效果图:
实现步骤:
1.下载jar包,并添加依赖
https://download.csdn.net/download/crazy1235/8313527
2在代码中实现
2.1实现按钮1效果:
/**
* layout1
* 是线性布局里面放了一个按钮
*/
private void method1() {
BadgeView badgeView = new BadgeView(MainActivity.this);
badgeView.setTargetView(layout1);
badgeView.setBadgeCount(1);
}
2.2实现按钮2效果:
/**
* layout2
* 是线性布局里面放了一个按钮
*/
private void method2() {
BadgeView badgeView = new BadgeView(this);
badgeView.setTargetView(layout2);
badgeView.setBackground(12, Color.parseColor("#9b2eef"));
badgeView.setText("提示");
}
2.3实现按钮3效果:
/**
* layout3
* 是线性布局里面放了一个按钮
*/
private void method3() {
BadgeView badgeView = new BadgeView(this);
badgeView.setTargetView(layout3);
badgeView.setBadgeGravity(Gravity.BOTTOM | Gravity.CENTER);
badgeView.setBadgeCount(4);
}
2.4实现按钮4效果:
/**
* layout4
* 是线性布局里面放了一个按钮
*/
private void method4() {
BadgeView badgeView = new BadgeView(this);
badgeView.setTargetView(layout4);
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);
}
常用方法:
-
setTargetView(View) --> 设置哪个控件显示数字提醒,参数就是一个view对象
-
setBadgeCount(int) --> 设置提醒的数字
-
setBadgeGravity(Gravity) --> 设置badgeview的显示位置
-
setBackgroundColor() --> 设置badgeview的背景色,当然还可以设置背景图片
-
setBackgroundResource() --> 设置背景图片
-
setTypeface() --> 设置显示的字体
-
setShadowLayer() --> 设置字体的阴影
参考文章:
https://blog.csdn.net/crazy1235/article/details/42262369
github原项目地址:
https://github.com/stefanjauker/BadgeView