代码地址如下:
http://www.demodashi.com/demo/13541.html

####前言
以前我们实现这个功能都是用 BadgeView.java,大体就是将这个java类复制到自己的项目中,然后在项目中使用,今天讲的也是一款BadgeView,我将其封装称工具类Badgetor,下面作以讲解。

  1. “新“BadgeView的优点
  2. BadgeView 库的导入
  3. BadgeView的封装类Badgetor
  4. Badgetor在activity中的使用
  5. 效果图和项目结构图
一. “新“BadgeView的优点

今天要介绍的BadgeView相比于以前的BadgeView有以下优点:

  1. 不需要引入大量的代码,直接引入库
  2. 在设置小圆点相对位置的时候更加简单
二. BadgeView 库的导入

需要导入库,在app的build.gradle中添加依赖:

//小圆点
implementation 'q.rorbin:badgeview:1.1.3'

若以上导入失败,可能是 implementation 关键字的原因,可改成以下代码重新导入:

//小圆点
compile 'q.rorbin:badgeview:1.1.3'
三. BadgeView的封装类Badgetor的使用

我将 "新"BadgeView特性封装称一个工具类Badgetor,下面对其使用做以讲解。
######3.1 设置一个显示数字的小圆点

public void showNumPoint(View targetView, int count, Context context);

其中,targetView为你要设置显示小圆点的view。count为要显示的数字。
######3.2 获取小圆点上的数字

public int getPointNum();

######3.3 显示文字小圆点

public void showTextPoint(View targetView, String text, Context context);

######3.4 获取小圆点上的文字

public String getPointText()

######3.5 隐藏小圆点

public void hideBadgeView();

######3.6 打开拖拽消除模式并设置监听
注:只有当设置了拖曳监听才会有拖曳效果

public void setOnDragStateChangedListener(Badge.OnDragStateChangedListener listener);

######3.7 设置文字大小
默认文字大小为 8sp

public void setTextSize(float textSize);

######3.8 设置文字颜色
默认白色

public void setTextColor(int textColor);

######3.9 设置是否显示精确数值
默认不显示精确度,即当数字超过100的时候,在小圆点上显示 99+

public void setExactMode(boolean exactMode);

######3.10 设置BadgeView相对view的位置
默认为显示在tagetView右上角

public void setGravity(int gravity)

######3.11 设置外边距
默认外边距为 2dp

public void setOffset(float offset)

######3.12 设置内边距
默认内边距为 2dp

public void setPadding(float padding)

######3.13 设置背景色
默认背景色为红色

public void setBackgroundColor(int backgroundColor)

######3.14 设置背景图片

public void setBackgroundDrawable(Drawable backgroundDrawable)

######3.15 设置阴影

public void setShadow(boolean shadow)

######3.16 设置描边属性

public void setStoke(boolean stoke,int color,int width)

######3.17 设置是否开启隐藏动画
默认动画效果开启

public void setAnimate(boolean animate)
四. Badgetor在activity中的使用

######4.1 在MainActivity中的使用样例

package com.android.testdemo.main;import android.graphics.Color;
import android.view.Gravity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;import com.android.testdemo.R;
import com.android.testdemo.base.BaseActivity;import butterknife.BindView;
import q.rorbin.badgeview.Badge;public class MainActivity extends BaseActivity{@BindView(R.id.button1)Button mBtnText;@BindView(R.id.tv_test)TextView mTvTest;@Overrideprotected int getContentViewId() {return R.layout.activity_main;}@Overrideprotected void initData() {//设置文字大小8spBadgetor.getInstance().setTextSize(8);//设置文字颜色Badgetor.getInstance().setTextColor(Color.parseColor("#ffffff"));//设置精确数值,只有设置数字的时候才生效,false时当数字大于99时显示99+,true时数字大于99时显示实际数字Badgetor.getInstance().setExactMode(true);//设置BadgeView相对mTvTest的位置,右上角Badgetor.getInstance().setGravity(Gravity.RIGHT|Gravity.TOP);//设置外边距2dpBadgetor.getInstance().setOffset(2);//设置内边距2dpBadgetor.getInstance().setPadding(2);//设置背景色Badgetor.getInstance().setBackgroundColor(Color.parseColor("#ff0000"));//不设置背景图片Badgetor.getInstance().setBackgroundDrawable(null);//开启动画效果Badgetor.getInstance().setAnimate(true);//显示数字Badgetor.getInstance().showNumPoint(mTvTest,190,MainActivity.this);//获取数字int count=Badgetor.getInstance().getPointNum();//        //显示文字
//        Badgetor.getInstance().showTextPoint(mTvTest, "大家好", MainActivity.this);
//        //获取文字
//        String message=Badgetor.getInstance().getPointText();}@Overrideprotected void setListener() {mBtnText.setOnClickListener(this);Badgetor.getInstance().setOnDragStateChangedListener(new Badge.OnDragStateChangedListener() {@Overridepublic void onDragStateChanged(int dragState, Badge badge, View targetView) {//此处处理拖曳结束后的逻辑//......}});}@Overridepublic void onClick(View v) {super.onClick(v);switch (v.getId()) {case R.id.button1://隐藏小圆点Badgetor.getInstance().hideBadgeView();break;default:break;}}}

######4.2 activity_main.xml布局

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.android.testdemo.main.MainActivity"><Buttonandroid:id="@+id/button1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="20dp"android:text="测试"app:layout_constraintTop_toTopOf="parent"tools:ignore="MissingConstraints"tools:layout_editor_absoluteX="148dp" /><TextViewandroid:id="@+id/tv_test"android:layout_width="wrap_content"android:layout_height="40dp"android:layout_marginTop="30dp"android:text="TextView"android:gravity="center"android:paddingLeft="15dp"android:paddingRight="15dp"app:layout_constraintTop_toBottomOf="@+id/button1"tools:layout_editor_absoluteX="163dp"tools:ignore="MissingConstraints" /></android.support.constraint.ConstraintLayout>
五. 效果图和项目结构图

项目运行效果图

项目结构图

Android实现小圆点显示未读功能

代码地址如下:
http://www.demodashi.com/demo/13541.html

注:本文著作权归作者,由demo大师发表,拒绝转载,转载需要作者授权

Android实现小圆点显示未读功能相关推荐

  1. android 小白点代码,Android实现小圆点显示未读功能

    ####前言 以前我们实现这个功能都是用 BadgeView.java,大体就是将这个java类复制到自己的项目中,然后在项目中使用,今天讲的也是一款BadgeView,我将其封装称工具类Badget ...

  2. Android已读未读功能,Android实现小圆点显示未读功能

    ####前言 以前我们实现这个功能都是用 BadgeView.java,大体就是将这个java类复制到自己的项目中,然后在项目中使用,今天讲的也是一款BadgeView,我将其封装称工具类Badget ...

  3. Android 桌面图标右上角显示未读消息数字

    背景: 在Android原生系统中,众所周知不支持桌面图标显示未读消息提醒的数字,虽然第三方控件BadgeView可以实现应用内的数字提醒.但对于系统的图标,特别是app的logo图标很难实现数字标志 ...

  4. Android系统 应用图标显示未读消息数(BadgeNumber) 桌面app图标的角标显示

    转载请标明出处:http://blog.csdn.net/xx326664162/article/details/51082574 文章出自:薛瑄的博客 你也可以查看我的其他同类文章,也会让你有一定的 ...

  5. android图标未读消息,Android系统 应用图标显示未读消息数(BadgeNumber) 桌面app图标的角标显示...

    原理 添加角标的原理就是发送一个Broadcast(广播),在广播的Intent中指定需要被添加角标的应用的packageName(包名),className(类名),count(角标数目).当然了, ...

  6. Android系统 应用图标显示未读消息数(BadgeNumber) 桌面app图标的角标显示

    http://www.51itong.net/android-badgenumber-9789.html

  7. android 应用图标 角标 显示未读消息

    Android桌面角标的适配确实是非常坑爹的需求.原生系统根本就没有这个功能,国内很多厂家效仿ios都自己定义了该功能.Android程序员就很苦逼,要适配很多机型.建议万不得已情况下还是不要进行这项 ...

  8. 微信小程序定时器获取消息并在tabber按钮显示未读消息

    微信小程序定时器获取消息并在tabber按钮显示未读消息 onShow() {let that = this;this.getUserToken();wxService.setPageTitle(&q ...

  9. android底部导航栏带消息数的框架,GitHub - BarkSheep/Android-NavMenuLayout: 一个底部导航栏, 实现了显示未读消息数, 显示红点等效果的封装...

    Android-NavMenu-master 一个底部导航栏, 实现了显示未读消息数, 显示红点等效果的封装. 添加依赖 1. 在项目根目录的 build.gradle 中添加 allprojects ...

最新文章

  1. Jupyter notebook与Spyder集成
  2. 文字加减前后缀lisp_华为笔试题---仿LISP算法
  3. 数据算法——Spark的TopN实现
  4. 2016/11/10 kettle概述
  5. Java迭代器contains的问题
  6. 前端基础进阶(十):面向对象实战之封装拖拽对象
  7. npm 全局安装vuecli报错_前端脚手架CLI生成模版命令工具(包括,npm包的发布,脚手架的搭建,注意事项,优化等)...
  8. java计算器 运算符优先级_跪求大神帮忙,怎样在java 计算器中实现,四则运算优先级;...
  9. c语言第五章137页题目及答案,(完整版)C语言程序设计教程第五章练习题题目
  10. 黑苹果mac未能安装在你的电脑上_经历了无数次失败以后,我终于“吃”上了黑苹果,经验分享!...
  11. L1-028 判断素数 (10 分)—团体程序设计天梯赛
  12. oracle的游标的属性,Oracle 游标属性
  13. Codeforces 448 D. Multiplication Table
  14. 使用python判断文件是否是excel格式
  15. 怎么使用计算机公式,在excel怎么运用计算公式进行运算?
  16. element时间组件在苹果回显无效果
  17. python解决猴子偷桃问题_猴子偷桃蟠桃园土地是知道的,不举报是不敢吗?
  18. python 行情数据,拼多多股票:Python获取股票行情数据的一种方法
  19. android实现发送短信的功能
  20. 触动精灵怎么向服务器发送消息,触动精灵 函数说明及使用方法

热门文章

  1. 【嵌入式Linux】嵌入式Linux应用开发基础知识之网络通信
  2. squid 的配置详解 (转)--SeriesI
  3. 运营管理整改报告范文_整改报告怎么写(安全检查整改报告范文)
  4. java 如何结束线程_java中,如何安全的结束一个正在运行的线程?
  5. mysql可视化一月多少钱_最便宜mysql可视化
  6. centos没有可用软件包 mysql-server_centos7解决yum install mysql-server没有可用包?
  7. KNN算法(K近邻学习)
  8. iosalipay_iOS支付宝支付主要代码
  9. 《深入理解 Spring Cloud 与微服务构建》第十七章 使用 Spring Cloud OAuth2 保护微服务系统
  10. 利用flex让页脚自适应置底显示