美文网首页高级UI
android实现小圆点显示未读功能

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

作者: 奔跑的佩恩 | 来源:发表于2018-07-10 09:34 被阅读370次

前言

好长时间没有更新简书了,今天就讲个实现未读消息小圆点的功能。以前我们实现这个功能都是用 BadgeView.java,大体就是将这个java类复制到自己的项目中,然后在项目中使用,今天讲的也是一款BadgeView,它有什么不同呢,下面作以讲解。

BadgeView库github地址

  1. “新“BadgeView的优点
  2. BadgeView 库的导入
  3. BadgeView的使用
  4. BadgeView的封装类Badgetor
  5. Badgetor在activity中的使用
  6. 效果图
一. “新“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的使用
3.1 BadgeView初始化
QBadgeView qBadgeView=new QBadgeView(context);
3.2 在view上显示小圆点
qBadgeView.bindTarget(view);
3.3 小圆点显示文字
qBadgeView.setBadgeText("我是水");
3.4 在小圆点上显示数字
qBadgeView.setBadgeNumber(count);
3.5 设置是否为精确模式数

设置为false时,当消息数>99,则显示99+,若设置为true,当消息数>99,则显示具体的消息数

qBadgeView.setExactMode(false);//设置是否显示精确模式数值
3.6 qBadgeView的隐藏

当设置为true时表示使用消失动画,为false时则消失不伴随动画效果

mQBadgeView.hide(true);//隐藏Badge
3.6 qBadgeView的拖曳效果及监听

需要注意的是只有当设置了拖曳监听才会有拖曳效果

        //打开拖拽消除模式并设置监听
        mQBadgeView.setOnDragStateChangedListener(new Badge.OnDragStateChangedListener() {
            @Override
            public void onDragStateChanged(int dragState, Badge badge, View targetView) {

            }
        });
3.7 更多属性

qBadgeView还有更多属性,如设置文字大小,文字颜色,是否显示精确模式数值,设置Badge相对于TargetView的位置,设置外边距,设置内边距,设置背景色,设置背景图片,设置是否显示阴影,设置描边效果。由于特性太多,此处不做详细讲解。

四.BadgeView的封装

我将BadgeView封装成了一个工具类Badgetor(我会在本篇文章的评论中贴出demo链接,有需要的可以看下),下面就来讲讲Badgetor的使用方法。

4.1 设置一个显示数字的小圆点
public void showNumPoint(View targetView, int count, Context context);

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

4.2 获取小圆点上的数字
public int getPointNum();
4.3 显示文字小圆点
public void showTextPoint(View targetView, String text, Context context);
4.4 获取小圆点上的文字
public String getPointText()
4.5 隐藏小圆点
public void hideBadgeView();
4.6 打开拖拽消除模式并设置监听

注:只有当设置了拖曳监听才会有拖曳效果

public void setOnDragStateChangedListener(Badge.OnDragStateChangedListener listener);
4.7 设置文字大小
public void setTextSize(float textSize);
4.8 设置文字颜色
public void setTextColor(int textColor);
4.9 设置是否显示精确数值
public void setExactMode(boolean exactMode);
4.10 设置BadgeView相对view的位置
public void setGravity(int gravity)
4.11 设置外边距
public void setOffset(float offset)
4.12 设置内边距
public void setPadding(float padding)
4.13 设置背景色
public void setBackgroundColor(int backgroundColor)
4.14 设置背景图片
public void setBackgroundDrawable(Drawable backgroundDrawable)
4.15 设置阴影
public void setShadow(boolean shadow)
4.16 设置描边属性
public void setStoke(boolean stoke,int color,int width)
4.17 设置是否开启隐藏动画
public void setAnimate(boolean animate)
五. Badgetor 在activity中的使用样例
        Badgetor.getInstance().setExactMode(true);
        Badgetor.getInstance().showNumPoint(mTvTest,190,MainActivity.this);
六. 效果图
ff.png

相关文章

  • android实现小圆点显示未读功能

    前言 好长时间没有更新简书了,今天就讲个实现未读消息小圆点的功能。以前我们实现这个功能都是用 BadgeView....

  • IOS实现未读标识的小红点

    一般APP新闻都会有未读标识 --一个红色的小圆点出现 。 在android中,我是使用图片来实现的。 Swift...

  • Android 角标学习总结

    前言 角标,英文名badge,即桌面上显示未读消息的小数字,原ios功能,Android原生并没有该功能。目前被大...

  • Android 日志打印器

    LogUtils 实现功能 兼容 Android Studio 3.1.0 的 Logcat 完美显示日志 兼容 ...

  • Android: 照片选择区域功能实现

    实现 Android 的照片选择区域功能 主要有参考 pqpo/SmartCropper 1, 显示 显示四条边和...

  • Android搜索实时显示功能实现

    前言 作为一名Android开发小白,应该时刻督促自己不断的学习技术,最近遇到了一个和搜索有关的问题,就学习找时间...

  • 呼吸轮播图心得

    思路: 1.点击按钮,改变显示的图片。同时改变对应小圆点的颜色。 2.点击小圆点,改变小圆点颜色,显示对应的图片。...

  • Unity无UI截屏

    实现的功能: 截取当屏幕显示的画面 去除画面上的UI元素 Android、iOS端通用,截取完成的图片在相册中显示...

  • ToggleButton控件

    TogleButton 功能:有选中和未选中两种状态,并且为不同的状态设置不同的显示文本。 属性:android:...

  • Android FlowLayout 流式布局

    FlowLayout 流式布局 Android 流式布局控件,实现自动换行,操出范围可以滑动功能,未使用控件复用功...

网友评论

    本文标题:android实现小圆点显示未读功能

    本文链接:https://www.haomeiwen.com/subject/zmlduftx.html