Android BGABadgeView:新消息/未接来电/未读消息/新通知圆球红点提示(1)

简介: Android BGABadgeView:新消息/未接来电/未读消息/新通知圆球红点提示(1)现在很多的APP会有新消息/未接来电/未读消息/新通知圆球红点提示,典型的以微信、QQ新消息提示为例,当微信朋友圈有新的朋友更新/发布朋友圈消息后,在微信的底部切换卡上会有一个红色的小圆球红点,表示有新消息,提示用户查看。


Android BGABadgeView:新消息/未接来电/未读消息/新通知圆球红点提示(1)

现在很多的APP会有新消息/未接来电/未读消息/新通知圆球红点提示,典型的以微信、QQ新消息提示为例,当微信朋友圈有新的朋友更新/发布朋友圈消息后,在微信的底部切换卡上会有一个红色的小圆球红点,表示有新消息,提示用户查看。
这种红色小圆点小圆球的实现方式很多种,简单期间,一个简单思路:可以用一个Framelayout里面套一个TextView(如果有未读消息数目)或者一个圆形shape显示,以红色为背景。详细请见附录文章1、2。
另外的就是使用一些第三方的开源项目,则更为通用。比如Android BGABadgeView,Android BGABadgeView在github上的项目主页是:https://github.com/bingoogolapple/BGABadgeView-Android
BGABadgeView实现了更多类型、更复杂的这类设计开发的需求。如图所示:



但是Android BGABadgeView在其项目主页上给出的项目代码下载后导入我的Android studio出现很多配置问题,我重新把最重要的库调整好,push到一个新的地址:https://github.com/zhangphil/BGABadgeView
使用时候,直接将其下载,作为一个库导入到自己的项目中即可。
基于我整理后的这个库,我写一个简单例子。
先写布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="zhangphil.demo.MainActivity">

    <cn.bingoogolapple.badgeview.BGABadgeTextView
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="10dp"
        android:layout_centerInParent="true"
        android:background="@android:color/holo_blue_light"
        android:text="zhang phil @ csdn"
        android:textColor="@android:color/white"
        app:badge_gravity="rightTop"
        app:badge_dragable="true"
        app:badge_padding="6dp" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="显示/隐藏小红点"
        android:id="@+id/button"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />
</RelativeLayout>


Java代码:

package zhangphil.demo;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;

import cn.bingoogolapple.badgeview.BGABadgeTextView;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final BGABadgeTextView badgeTextView= (BGABadgeTextView) findViewById(R.id.text);
        badgeTextView.showCirclePointBadge();

        findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if(badgeTextView.isShowBadge())
                    badgeTextView.hiddenBadge();
                else
                    badgeTextView.showCirclePointBadge();
            }
        });
    }
}



代码运行结果:


附录文章:
1,《仿微信、短信、QQ等消息数目右上角红色小圆球气泡显示(基于Android XML布局文件实现)》链接地址:http://blog.csdn.net/zhangphil/article/details/43702953
2,《仿短信条目右上角的红色小圆球提示气泡》链接地址:http://blog.csdn.net/zhangphil/article/details/43667727


相关文章
|
XML 存储 Android开发
Android自定义控件 | 小红点的三种实现(下)
上篇介绍了两种实现小红点的方案,分别是多控件叠加和单控件绘制,其中第二个方案有一个缺点:类型绑定。导致它无法被不同类型控件所复用。这篇给出一种新的方案。
580 0
Android自定义控件 | 小红点的三种实现(下)
|
Android开发
Android高仿QQ小红点
Android高仿QQ小红点
110 0
|
存储 JavaScript 安全
教你如何用一行命令:Android打包->上传->发测试包通知
教你如何用一行命令:Android打包->上传->发测试包通知
276 0
教你如何用一行命令:Android打包->上传->发测试包通知
|
Android开发
Android Socket通讯 之 心跳消息
Android Socket通讯 之 心跳消息
201 0
Android Socket通讯 之 心跳消息
|
Android开发
Android Socket通讯 分离服务端和客户端、发送表情消息
Android Socket通讯 分离服务端和客户端、发送表情消息
141 0
Android Socket通讯 分离服务端和客户端、发送表情消息
|
安全 Android开发 容器
Android自定义控件 | 小红点的三种实现(终结)
上一篇通过在父控件绘制前景的方式展示小红点,在布局文件中配置标记控件就能为任意子控件添加小红点。实现方案是”布局文件中配置带小红点控件 id,在父控件中获取它们的坐标,并在其右上角绘制圆圈“。但这个方
498 0
|
前端开发 API Android开发
Android自定义控件 | 小红点的三种实现(上)
小红点用于通知未读消息,在应用中到处可见。本文将介绍三种实现方案。分别是:多控件方案、单控件绘制方案、容器控件绘制方案。不知道你会更偏向哪种方案?
512 0
Android自定义控件 | 小红点的三种实现(上)
|
存储 消息中间件 API
下沉式通知的一种实现 | Android悬浮窗Window应用
当你浏览公众号时来了一条新消息,通知在屏幕顶部会以自顶向下动画的形式入场,而且它是跨界面的全局浮窗(效果如下图)。虽然上一篇中抽象的浮窗工具类已经能实现这个需求。但本文在此基础上再封装一些更加友好的
380 0
|
消息中间件 存储 安全
深入理解Android消息机制
深入理解Android消息机制
917 6
|
Android开发
Android 在应用图标上设置未读消息数量
Android 在应用图标上设置未读消息数量
1223 2