Android 角标 小圆点 右上角显示数字 自定义角度

Android实现应用数字角标 最近遇到一个需求,需要将APP内某几个tab的未读消息数显示到桌面的应用角标上,于是查阅了一番资料,并咨询了几家应用开放平台,踩了几个小坑,最终勉强实现了自己的需求。由于国内主流手机为华为、小米、vivo、OPPO,故目前只准备实现这四款机型的角标功能,不过OPPO在咨询客服的时候被告知不开放数字角标的功能,因此目前就实现了华为、小米与vivo的需求。 阅读详情

方式1(不推荐):

采用三方库,还需要自己搭界面~

在这里插入图片描述

  1. 首先添加依赖:
 //角标
 implementation 'q.rorbin:badgeview:1.1.3'
  1. 设置角标 比较关键的是布局配合
 <FrameLayout
                android:id="@+id/fm_btn_badge"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="50dp"
                android:layout_marginBottom="50dp"
                android:layout_gravity="center_horizontal"
                android:layout_marginLeft="10dp">

                <Button
                    android:id="@+id/btn_badge"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:background="@android:color/holo_blue_light"
                    android:layout_marginTop="6dp"
                    android:layout_marginRight="6dp"
                    android:gravity="center"
                    android:textColor="@color/white"
                    android:layout_gravity="center"
                    android:text="显示数量" />
            </FrameLayout>
  1. 查找控件
     //为FrameLayout设置角标,而不是给Button设置角标
        FrameLayout  fm_btn_badge = findViewById(R.id.fm_btn_badge);
     //Button用于事件操作
        Button btn_badge = findViewById(R.id.btn_badge);
  1. 设置角标
  //设置角标
        QBadgeView badgeView1 = new QBadgeView(this);
        badgeView1.bindTarget(fm_btn_badge);
        badgeView1.setBadgeNumber(3);
        //badgeView1.setBadgeGravity(Gravity.END | Gravity.TOP);

其中角标还是有不少参数滴,放一些参数在下面

 /**
         * setBadgeNumber	设置Badge数字
         * setBadgeText	设置Badge文本
         * setBadgeTextSize	设置文本字体大小
         * setBadgeTextColor	设置文本颜色
         * setExactMode	设置是否显示精确模式数值
         * setBadgeGravity	设置Badge相对于TargetView的位置,目前只支持   Gravity.START | Gravity.TOP , 
         * Gravity.END | Gravity.TOP ,Gravity.START | Gravity.BOTTOM , Gravity.END | Gravity.BOTTOM , 
         * Gravity.CENTER , Gravity.CENTER | Gravity.TOP , Gravity.CENTER | Gravity.BOTTOM ,
         * Gravity.CENTER | Gravity.START , Gravity.CENTER | Gravity.END
         *否则报错哦
         * setGravityOffset	设置外边距
         * setBadgePadding	设置内边距
         * setBadgeBackgroundColor	设置背景色
         * setBadgeBackground	设置背景图片
         * setShowShadow	设置是否显示阴影
         * setOnDragStateChangedListener	打开拖拽消除模式并设置监听
         * stroke	描边
         * hide	隐藏Badge
         */

方式二(自己画界面,直接给TextView 赋值):

用约束布局,轻松搞定

在这里插入图片描述

   <androidx.constraintlayout.widget.ConstraintLayout
        app:layout_constraintTop_toBottomOf="@+id/view_2"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        android:layout_marginTop="50dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <TextView
            android:layout_width="100dp"
            android:layout_height="50dp"
            android:text="显示数量"
            android:gravity="center"
            android:background="@android:color/holo_blue_light"
            android:textColor="@color/white"
            android:layout_marginTop="5dp"
            android:layout_marginEnd="5dp"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintBottom_toBottomOf="parent"/>

        <TextView
            android:layout_width="20dp"
            android:layout_height="20dp"
            android:text="3"
            android:gravity="center"
            android:textColor="@color/white"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            android:background="@drawable/bg_red_y"/>

    </androidx.constraintlayout.widget.ConstraintLayout>

bg_red_y.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:shape="oval"

    tools:ignore="ResourceName">
    <solid android:color="#E81010" />
</shape>
Android 实现应用桌面角标 1、小米手机 官方文档:文档中心 /** * 小米手机创建通知信息并创建角标 * * @param context * @param num */ public static void setXiaoMiBadgeNum(Context context, int num) { Log.e(TAG, "--------setXiaoMiBadgeNum----------"); NotificationManag 阅读详情

相关推荐

Godot引擎开发入门:节点系统与信号机制核心解析

游戏开发中,引擎选择直接影响项目效率。Godot作为开源轻量级引擎,凭借其高效的节点系统与场景树设计,成为独立开发者关注的焦点。其核心逻辑围绕节点、场景与信号展开:节点是功能单元,场景是复用模块,信号实现解耦通信。通过一个简单的2D小游戏示例,可以快速理解物理碰撞、角色控制与UI更新流程。无论是从Unity转来的开发者,还是零基础入门者,掌握这套逻辑都能显著降低试错成本。从基础概念到实践案例,梳理Godot开发的关键路径,帮助读者建立清晰的游戏逻辑构建思维。

weixin_33853794的博客 452

Android设置应用数字角标

最近遇到一个需求,需要将APP内某几个tab的未读消息数显示到桌面的应用角标上,于是查阅了一番资料,并咨询了几家应用开放平台,踩了几个小坑,最终勉强实现了自己的需求。由于国内主流手机为华为、小米、vivo、OPPO,故目前只准备实现这四款机型的角标功能,不过OPPO在咨询客服的时候被告知不开放数字角标的功能,因此目前就实现了华为、小米与vivo的需求。(不管什么机型都需要确认桌面图标角标权限是开启状态) 一、华为机型 华为提供有实现方式,需要注意的地方只有两点,一个是在manifest中添加权限, <

qq_38894169的博客 5387

Android 应用桌面角标实现

在 Android 应用中实现桌面角标通常是为了提供更好的用户体验,让用户能够快速了解应用内的新消息或者未读通知数量。实现桌面角标通常涉及到以下几个步骤:

半夏微凉科技 1305

植物养护管理应用基于HarmonyOS API 24枚举与工具函数:类型安全与逻辑复用,枚举定义相比使用魔法数字(magic numbers)具有显著的可读性和可维护性优势

在移动互联网与智能穿戴设备高度普及的今天,"习惯养成"已经从一个模糊的自我管理理念,演变为一个可量化、可追踪、可视化的数字化产品赛道。越来越多的人希望借助手中的智能终端,把"早起、冥想、阅读、运动"这些抽象的自律行为,转化为一条条清晰的数据曲线和一张张可触摸的打卡卡片。而鸿蒙生态(HarmonyOS)凭借其跨设备协同、分布式软总线以及声明式 UI 开发框架 ArkUI,为这类注重"轻量化交互 + 即时反馈"的生活方式类应用提供了极为理想的生长土壤。本应用正是一款面向"晨间场景"深度打磨的习惯追踪工具。它聚焦

2401_86031952的博客 116

【信息科学与工程学】计算机科学与自动化——第六十三篇 人机交互之前端交互参数知识库02

每个分支下又细分了四个关键方向,并按照“研究对象/焦点、基本问题、核心理论/概念、研究方法、应用/目标、前沿/发展”的框架进行阐述,严格遵循了六级编码体系。在最终整合时,应建立唯一的学科分类编码表(例如,用两位数字或“ART”、“MED”、“ECO”等字母前缀),并确保所有下级编码(尺度、层次、类别、子类、具体项)的逻辑一致性。此回答中的编码为示例,实际系统需据此调整。控制过程(前馈、同期、反馈)、全面质量管理(TQM)、平衡计分卡(BSC)定量(调查、实验)、定性(访谈、民族志)、混合方法、大数据。

weixin_49199313的博客 676

【信息科学与工程学】计算机科学与自动化——第六十三篇 人机交互之前端交互参数知识库01

此方案可满足千万级并发需求,同时支持时序数据、知识图谱和文档数据库的高效处理,通过云原生架构实现极致弹性。​:每月约$15-20万(100节点K8s集群+数据库集群+CDN流量)1. 宠物上架/下架流程。

weixin_49199313的博客 1477

HarmonyOS 6.1 实战 页面跨Tab状态跳转逻辑封装,实现不同功能页面之间无参数跳转与视图联动

在非物质文化遗产数字化保护与文化创意设计领域,传统纹样正经历从"博物馆展柜"到"数字素材库"的深刻变革。从唐草卷纹的织锦提花到宋代缠枝的汝窑描银,从万字回纹锦的霞帔錾刻到冰梅青花的釉下彩绘,每一种纹样都承载着朝代审美与工艺智慧。传统纹样素材管理平台面临三大挑战:纹样品类占比缺乏可视化呈现导致馆藏结构不透明、双层频道(朝代×纹样)的滑动分发难以流畅联动、WebP 动画元数据的读写校验缺乏沙箱零权限演示路径。HarmonyOS ArkUI 框架为这些挑战提供了系统级解决方案。ArkUI 的声明式 UI 范式通过

2401_86049470的博客 308

IsBadgeWorking:Android角标提示实现指南

本文还有配套的精品资源,点击获取 简介:IsBadgeWorking是一个Android库,用于实现应用图标角标提示功能,显示未读消息或更新数量。该库简化了角标实现,支持动态设置和广泛设备兼容性。开发者可通过源码学习和定制,快速集成角标功能到应用中。本文介绍了如何使用IsBadgeWorking库,包括添加依赖、初始化角标管理器、设置角标以及更新和清除角标的操作。 ...

weixin_42599558的博客 1510

用HTML+CSS+JS手写动态圣诞树学编程

编程入门常因抽象语法产生认知阻塞,而可视化项目能通过空间关系、色彩变化和即时反馈激活学习动机。HTML+CSS+JS作为零依赖、全平台兼容的原生技术栈,天然适配初学者对‘所见即所得’的强需求,其DOM操作、CSS变量与requestAnimationFrame等核心机制,可直观映射变量、循环、事件响应等基础概念。相比Unity或Vue等封装框架,原生方案剥离黑箱,让坐标控制、粒子生命周期、交互状态管理等原理清晰可见,特别适合零基础成人入门、青少年计算思维培养及职场人重建手脑协同能力。

weixin_34204722的博客 396

Android为应用添加数字角标的简单实现

应用的角标是用来标记有多少条提醒没读,本篇文章主要介绍了Android为应用添加角标的简单实现,有兴趣的可以了解一下。

android 桌面APP图标增加角标功能

android 系统桌面logo增加消息角标功能,解决目前android系统只有小米等几类手机有消息角标,华为、三星等手机。。

HarmonyOS 6.1 实战:利用分布式数据对象(Distributed Data Object)实现多端数据实时同步

基于HarmonyOS 6.1.1与HarmonyOS ArkTS API 24的云庄园虚拟农场经营应用开发全栈解析:从粒子飘落动画到七日收益柱状图可视化,多Tab导航与弹窗式CRUD架构深度剖析与最佳实践。

2501_92985290的博客 358

野火STM32F407(骄阳)+无刷直流驱动板+永磁同步电机控制学习记录(四)(基于HAL库)

以上内容都是参考别人资料自学的,很多地方都是凭感觉,因为理论部分不太会算,只要电机能转就行,其他性能指标都没考虑,因为不会,所以这纯属是学习记录帖。带宽在500时,电流波动小,但是响应很慢,就是堵转后不太容易恢复转动。速度环带宽设定小了,响应不够快,带宽设定大了波动比较大,电机感觉起来也震一点,而且,当带宽设到200的时候,启动直接就锁死了,应该是PI增益设定太大了。电流环带宽的试验:去掉速度环,让Iq_Set=2,Ud=0,此时电机是电流环闭环控制,用手堵转电机然后松开,看电流的波动以及响应情况。

XUEXIDEXIAOhai的博客 4554

基于HarmonyOS ArkTS API 24 网页组件双状态分离设计,解耦输入状态与渲染状态避免频繁重加载性能损耗

在共享经济席卷教育场景的当下,共享自习室正从"一张桌子一把椅子"的粗放模式,进化为舱位级颗粒度管理的精细化运营形态。从早鸟场的入座率监控到晚高峰的抢座提醒,从门店地图的长按标记到铃声坊的自定义提示音,每一个预约决策都需要位置感知、数据可视化和通知触达能力的深度协同。传统预约类应用常面临三重困境:地图仅作展示缺乏交互深度、通知铃声千篇一律无法个性化、运营数据停留在文字列表缺乏视觉直觉。面对这些挑战,开发者需要一套既能快速构建精美界面、又能深度整合系统能力的开发框架,而 HarmonyOS ArkUI 正是为此

2401_86049470的博客 261

QT实现串口通信

要实现串口通信,需要知道串口通信需要的信息 主要参数有:波特率、校验位、数据位、停止位、控制流 主要操作有:串口的打开和关闭、刷新设备串口、接发数据、开关显示灯等。 实现效果如图: 最后附赠完整源码。 第一步:在头文件中引入 QtSerialPort 类的两个头文件(必须引入) // 引入串口通信的两个头文件(第一步) #include <QtSerialPort/QSerialPort> // 提供访问串口的功能 #include <QtSerialPo

m0_49456900的博客 6万+

从“烧电路”到“软杀伤”:拆解高功率微波(HPM)让无人机失灵的三种物理效应

本文深度解析高功率微波(HPM)如何通过热效应、电磁效应和非线性效应三种物理机制使无人机失灵。从电子元件的热损伤到系统的电磁干扰,再到电路中的非线性破坏,HPM技术为反无人机系统提供了高效的非动能打击手段。文章还探讨了现代无人机的多层级防护策略与应对方案。

weixin_42531886的博客 253

HarmonyOS 6.1 实战:将预置的静态数据数组通过 .slice() 浅拷贝后赋值给组件的 @State 变量

引言在移动端应用开发领域,HarmonyOS 6.1.1 的发布为开发者带来了全新的声明式 UI 编程范式,其中 ArkTS 语言作为 TypeScript 的超集,不仅继承了强类型系统的全部优势,还在此基础上深度整合了 HarmonyOS ArkTS API 24 的响应式状态管理能力。本文将以一个城市观星社区应用为典型案例,完整剖析一个具有小红书风格内容社区的架构设计思路、状态管理模型、组件化拆分策略以及深色星空主题的实现细节。这个应用涵盖了观星日志记录、天象日历展示、星空摄影分享、望远镜装备管理、观星

2501_92985290的博客 768

【Ragflow】9.问答为什么比搜索响应慢?从源码角度深入分析

前几天看到有群友提到一个现象:Ragflow的搜索界面的问答速度很快,但聊天界面的问答速度很慢,究竟是什么原因?在深入挖掘源码之后,逐渐发现了问题的答案。

兴趣使然的创作者 2904

HarmonyOS 6效果实现:coverHeightToVp 是一个简单的数值到带单位字符串的转换函数,用于将视频封面高度数值转为ArkTS可识别的尺寸字符串

HarmonyOS 6.1.1 作为华为全场景分布式操作系统的最新里程碑版本,其底层基于 HarmonyOS ArkTS API 24 构建了一套更加成熟、高效的声明式应用开发框架。HarmonyOS ArkTS API 24 在组件化架构、状态驱动渲染、生命周期管理以及跨设备适配能力上进行了全面升级,为开发者提供了 、、、、 等一整套装饰器体系,使得复杂业务界面的构建变得清晰而高效。本文将以一个完整的短视频社区演示页面为切入点,该页面模拟了真实短视频产品中的短视频Feed流、朋友动态列表、兴趣频道分类浏览

2501_93027198的博客 264

80、编程学习资源与x86知识全解析

本文详细介绍了编程学习中多个领域的优秀书籍和博客资源,涵盖逆向工程、C/C++、x86/x86-64架构、ARM、汇编语言、Java、UNIX、密码学等多个方向。同时,深入解析了x86架构的核心知识,包括术语、通用寄存器、FPU寄存器、SIMD寄存器、调试寄存器以及常用指令的使用方法和操作步骤。通过本文,读者可以系统地掌握底层编程知识,并应用于逆向工程、系统开发和性能优化等领域。

tree的博客 221

【HAL库】STM32CubeMX开发----STM32F407----ETH+LWIP----TCPclient客户端

STM32F407开发板 为TCPclient客户端,PC端 为TCPserver服务端,相互之间的发送和接收实验。

MQ0522的博客 3050

GAMES101 第5章Rasterization学习:透视投影 —— 近平面的 l, r, b, t 到底怎么确定

在做透视投影之前,我们需要先在摄像机前方定义一个"近平面"(near plane)。可以把它想象成摄像机的取景框——摄像机看到的画面,最终就是通过这个近平面"拍"下来的。 这个近平面用四个数来描述它的范围:如果这四个值已经明确告诉你了(比如接口里直接传入 ),那就直接拿来用就行,不需要任何计算。这是最简单也最直接的情况。但实际开发中(尤其是游戏引擎、图形学作业里)更常见的做法是,不直接给 l,r,b,tl,r,b,tl,r,b,t,而是给两个更符合直觉的参数:想象从侧面看这个场景(也就是只看"前后"和"上下

虾球 386

使用Clumsy和Process Explorer定位软件高CPU占用问题

使用弱网模拟工具Clumsy和进程查看工具Process Explorer定位软件高CPU占用问题。

dvlinker的技术专栏 5709

android 为桌面图标添加数字角标

android 为桌面图标添加数字角标 我的github项目 BadgeForAppIcon 看完麻烦 star 一下 在某些app的设计中,产品经理总会想当然的提出为桌面图标添加数字角标的需求。作为一个开发者当然只能努力的去实现,然后你打开了百度。。。 一、“砖” 这种问题你会在百度上找到很多答案,拿来一块砖开心的就贴在了你的demo里,然后运气好的你拿起了你手里的huawei、...

ToT的笔记 1万+

点云从入门到精通技术详解100篇-基于点云语义分割的电力线提取及聚类研究

在现代社会,电力一直扮演着最重要的角色之一。它不仅与人民的生活息息相关,更是一个国家发展的命脉。近年来,随着我国各特高压输电线路建成(比如2022年1月份白鹤滩江苏特高压输电线路的放线)以及电网规模的不断扩大,我国年发电量稳步上升,人民的生活水平越来越高。我国土地辽阔,输电线路分布广泛,再加上地形环境复杂多样,电力线可能遭受风吹雨晒甚至是冰雪寒灾的影响。因此,为了保障电力线的可靠供电,防止停电意外发生,电力部门要定期对输电线路进行检查。目前我国主要。

getusushu的博客 1010

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

上一篇: BottomSheetDialog 禁止滑动(直接固定不动),解决与弹窗内的地图滑动冲突,并且点击外部关闭
下一篇: Live2D看板娘-通过 WebView 写到Android 中,安卓版看娘来咯
小狗蛋ing
博客等级 码龄6年 6343粉丝 88原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值