android 通知条效果

Android 12 悬浮通知/横幅通知状态栏应用图标显示不全 悬浮/横幅通知状态栏应用图标显示不全 阅读详情

1.0 官方

在 android 在5.0中加入个通知新样式 Heads-Up.
google 介绍界面,需要翻墙
在 Android 5.0的使用的方法的代码:

 notification=new NotificationCompat.Builder(MainActivity.this)
                         .setVisibility(Notification.VISIBILITY_PUBLIC)
                         .setSmallIcon(R.drawable.ic_launcher)
                         .setFullScreenIntent(pendingIntent, false)
                        .setContentTitle("这是标题")
                         .setContentText("这是内容")
                        .addAction(R.drawable.ic_launcher, "菜单1", peddingIntent1)
                         .build();
                notificationManager.notify(1, notification);

其中 Builder.setFullScreenIntent(pendingIntent, false) 是关键;
setUsesChronometer (boolean ) 设置这个为 true 以后 heads-up会将 action 也显示出来.

2.0 使用库实现类似的方法(向下兼容2.3)

下面介绍一个自己写的,类似 Heads-up 组件的库.
github 源码地址
simple heads-up (no expand)
使用方法:

    HeadsUpManager manage = HeadsUpManager.getInstant(getApplication());
                HeadsUp.Builder builder = new HeadsUp.Builder(MainActivity.this);
                builder.setContentTitle("提醒").setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_LIGHTS)
                        //要显示通知栏通知,这个一定要设置
                        .setSmallIcon(R.drawable.icon)
                        //2.3 一定要设置这个参数,否则会报错
                        .setContentIntent(pendingIntent)
                        .setContentText("你有新的消息");

                HeadsUp headsUp = builder.buildHeadUp();
                manage.notify(code++, headsUp);

simple heads-up
使用方法:

    HeadsUpManager manage = HeadsUpManager.getInstant(getApplication());
                HeadsUp.Builder builder = new HeadsUp.Builder(MainActivity.this);
                builder.setContentTitle("提醒").setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_LIGHTS)
                       //要显示通知栏通知,这个一定要设置
                        .setSmallIcon(R.drawable.icon)
                        .setContentText("你有新的消息")
                       //2.3 一定要设置这个参数,否则会报错
                        .setContentIntent(pendingIntent)
                        //设置是否显示 action 按键
                        .setUsesChronometer(true)
                        .addAction(R.drawable.ic_cloud_queue_black_24dp, "查看", pendingIntent);

                HeadsUp headsUp = builder.buildHeadUp();
                manage.notify(code++, headsUp);

使用自定义布局,支持 button 的点击事件.
使用方法:

  final HeadsUpManager manage1 = HeadsUpManager.getInstant(getApplication());

                View view=getLayoutInflater().inflate(R.layout.custom_notification, null);

                view.findViewById(R.id.openSource).setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/zzz40500/HeadsUp"));
                        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                        MainActivity.this.startActivity(intent);
                        manage1.cancel();
                    }
                });

                HeadsUp headsUp1 = new HeadsUp.Builder(MainActivity.this)
                        .setContentTitle("标题")
                        //要显示通知栏通知,这个一定要设置
                        .setSmallIcon(R.drawable.icon)
                        //2.3 一定要设置这个参数,否则会报错
                        .setContentIntent(pendingIntent)
                        .setContentText("这个是自定义通知")
                        .buildHeadUp();
                headsUp1.setCustomView(view);
                manage1.notify(code++, headsUp1);
heads-up.gif
heads-up.gif

局限性:

  1. heads-up 没有加入阴影效果:
  2. 没有对消息进行优先级排序,现在的排序算法是先进先出.
  3. miui 系统开启悬浮窗才可以正常使用. (miui 真讨厌!!!!)

1.0.1更新内容;

增加了背景阴影部分.

  1. 增加了消息横向滑动时候的 alpha 值的改变
  2. 增加了常驻消息:调用 HeadsUp.setSticky(true),用 HeadsUpManager.cancel(code)取消.
  3. 修改了滑动动画.
  4. 向下兼容2.3

1.1.0更新内容;

  • 增加了圆形头像,基于CircleImageView上做的修改
  • 增加在 android 5.0 上使用原生的 headsUp.
    增加了方法 setActivateStatusBar(boolean ) 默认 true ,设置 false 表示只显示 heads-up ,而不会发送到通知栏上.
1.1.0注意:

*使用原生的 headsUp 逻辑是:
系统是大于21,且headsUp 没有使用setCustomView(View )也没有设置setIsActivateStatusBar(true)则使用原生的 heads-up
如果要调用了原生的 heads-up,所以你得设置setFullScreenIntent(pendding,false)pendding不能为空,否则没有效果

安卓自定义view之打造滚动的通知栏 闲谈: 这段时间一直忙着做毕业设计,没什么时间写blog,但是秉着分享的原则,还是要和小伙伴们分享所学的东西,如果可以的话,也希望我的博客能够帮助到需要的人。(打个广告吧,有兴趣的同学可以加一下我的安卓QQ群279031247,一起讨论安卓开发遇到的问题)。 前言: 最近在开发一个app的时候,有个滚动通知栏的需求,自己花了一点时间去实现了一下,唯一可惜的事情就是自己没有多少时间做成 阅读详情

相关推荐

道岔故障监测系统设计(源码+开题)

通过实时监控道岔的工作状态,系统能够及时发现异常情况,预防潜在的安全隐患,从而减少事故发生的概率。此外,监测系统还能够为维护人员提供详细的数据支持,帮助他们更准确地判断道岔的磨损程度和故障类型,优化维修计划,延长道岔的使用寿命。随着智能化、自动化技术的发展,道岔故障监测系统的设计与应用也将推动铁路行业的技术进步,为实现智能铁路和未来交通系统的构建奠定基础。因此,开展道岔故障监测系统的设计研究,不仅具有重要的工程实践价值,也有助于推动铁路运输行业向更高水平的发展。

灵军程序设计 771

android 微信浮窗实现_Android实现类似qq微信消息悬浮窗通知功能

实现方法:(需要开启悬浮窗通知权限、允许应用在其他应用上显示)一.利用headsup悬挂式Notification,他是5.0中新增的,也就是API中的Headsup的Notification,可以在不打断用户操作的时候,给用户通知二.使用Window创建悬浮窗当window属性设置为FLAGE_NOT_FOCUSABLE表示不需要获取焦点,也不需要接受各种输入事件,此标记会同时启用FLAGE_N...

weixin_31088435的博客 1264

camera 知识速查

本文总结了Camera开发中的常见问题排查方法和关键技术点。主要内容包括:I2C/MIPI不通的排查步骤、时序问题分析方法、Sensor/AF/Flash/PDAF的Bring Up流程、OTP调试方法、PDAF原理及调试、CTS/ITS问题解决思路、AE震荡解决方案、Systrace性能分析方法、Flicker产生原理、Tombstone问题定位等。还涉及V4L2框架解析、问题定位分层方法、Sensor Setting注意事项、时钟信号概念、第三方应用卡顿排查、大光圈概念、Monkey测试方法。

qq_41665131的博客 783

android10代码开启横幅通知,Android :HangUp Notification 横幅通知

Android Studio 3.5Gradle 5.4.1Java 代码:import androidx.appcompat.app.AppCompatActivity; import androidx.core.app.NotificationCompat; import android.app.Notification; import android.app.NotificationChan...

weixin_39815286的博客 351

海康线扫相机平场矫正教程

1、白纸准备确保视野中有一张平整且无折痕的白纸,使其完全铺满相机的整个视野。2、行高设置将行高参数设定为 2048。3、灰度值控制相机端图像的灰度值应维持在 120 - 160 这个区间内。同时,最亮像素点与最暗像素点的灰度值差值不得超过 4 倍。在调整灰度值时,尽量开启增益功能。4、 图像模糊处理为减少白纸对平场矫正的影响,需将相机端获取的图像进行模糊化处理。具体操作是对镜头进行虚焦,使整体图像变得模糊。

T 2747

中国知网文献引用导入EndNote9.X,Web of science导入endnote以及谷歌学术导入endnote图文详解,全网最细版本适用EndNote9.x,Endnote20版本

在科研中用到EndNote管理文献,遇到插入文献时,中国知网如何将参考文献导进Endnote9.x或者web of sicence,谷歌学术如何将文章,文献导入进文献管理软件EndNote的详细图文2022版本解释,全网最细的笔记教程,值得大家参考收藏学习

sakura的博客 5175

Android实现横幅通知

代码如下: /** * 通知栏(兼容android 8.0以上) */ boolean isVibrate=true;//是否震动 //1.获取消息服务 NotificationManager manager=(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); //默认通道是default String channelId="default";

qq_42795723的博客 3166

jenkins连接外部k8s集群

k8s连接集群外Jenkins

liuchao666888的博客 1527

android抬头显软件,如何显示抬头通知Android

小编典典我遇到了同样的问题,但我使用的是较新的NotificationCompat.Builder()呼叫,该呼叫需要来自的频道IDNotificationChannel。如果NotificationChannel创建的通知的重要性值为,则该通知将仅作为抬头通知出现NotificationManager.IMPORTANCE_HIGH:NotificationChannel channel = n...

weixin_29712031的博客 286

别再折腾Windows了!Ubuntu 22.04下USRP X310 + RFNoC + Vivado 2021.1开发环境保姆级搭建指南

本文提供Ubuntu 22.04下USRP X310 + RFNoC + Vivado 2021.1开发环境的详细搭建指南,涵盖系统优化、UHD驱动编译、Vivado配置及硬件验证等关键步骤,帮助射频工程师高效构建稳定的开发环境,显著提升FPGA开发效率。

weixin_29168675的博客 255

使用 C# 实现大华监控摄像头的控制与数据处理

本文介绍了使用C#调用大华SDK(DHNetSDK.dll)开发监控系统的方法。主要内容包括:开发准备、DLL引用设置、SDK初始化与设备登录、视频预览窗口嵌入、云台控制、抓图录像等核心功能实现。通过P/Invoke技术封装SDK接口,开发者可以快速构建具有视频监控、设备控制功能的C#应用程序。文中还提供了代码示例、常见问题解决方案,以及视频帧智能分析的扩展建议,为开发大华监控系统的二次应用提供了完整的技术指南。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1275

2024年安卓最全android 通知条效果(1),这套Github上40K+star面试笔记

有许多来自一线的技术大牛,也有在小厂或外包公司奋斗的码农,我们致力打造一个平等,高质量的Android交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。builder.setContentTitle(“提醒”).setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_LIGHTS)以薪资待遇为基础,以发展为最终目标,要在高薪资的地方,谋求最好的发展!//要显示通知栏通知,这个一定要设置。

2301_82244125的博客 473

【知识图谱】实践篇——基于知识图谱的《红楼梦》人物关系可视化及问答系统实践:part6基于图谱的问答实现

前序文章:本部分则是整个项目的核心内容——基于图谱的问答。需要实现的是对于“简单问题”进行解析,然后从图谱数据库中查询与该人员及其相关人员信息,返回到前端并显示该人员的基本信息。除此之外,用户可以点击返回的结果人员节点,页面能够显示该用户的个人基本信息。那么现在就开始吧。根据源码实现问答形式,其实是比较简单的。原代码中使用ltp对问题进行分词,选取具有名次词性的关键词进行处理。 ltp配置稍许麻烦,我使用jieba分词工具对问题进行分词,然后再按照原文提取问句中人物及关系,然后构建cypher neo4j查

让算法融入生活,改变生活! 2936

android 通知条效果,Android面试吃透这一篇就没有拿不到的offer

总之啊,家里没矿的同学们,如果你们想以后的日子过得好一些,多想想你们的业余时间怎么安排吧;技术方面的提升肯定是重中之重,但是技术外的一些“软实力”也不能完全忽视,很多时候升职确实是因为你的技术足够强,但也与你的“软实力”密切相关在这我也分享一份大佬自己收录整理的Android学习PDF+架构视频+面试文档+源码笔记,还有高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料这些都是我闲暇还会反复翻阅并给下属员工学习的精品资料。

m0_61549953的博客 1014

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

android 通知条效果,android系统工程师面试题

在 android 在5.0中加入个通知新样式 Heads-Up. google 介绍界面,需要翻墙 在 Android 5.0的使用的方法的代码: notification=new NotificationCompat.Builder(MainActivity.this) .setVisibility(Notification.VISIBILITY_PUBLIC) .setSmallIcon(R.drawable.ic_launcher) .setFullScreenIntent(pending

m0_64603776的博客 199

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

android 通知条效果,字节跳动+阿里+华为+腾讯等大厂Android面试题

在 android 在5.0中加入个通知新样式 Heads-Up.google,需要翻墙其中是关键;设置这个为 true 以后 heads-up会将 action 也显示出来.2.0 使用库实现类似的方法(向下兼容2.3)下面介绍一个自己写的,类似 Heads-up 组件的库.使用方法:builder.setContentTitle(“提醒”).setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_LIGHTS)

m0_60388338的博客 1002

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

推荐文章:探索xBlur - 为Android带来iOS般的实时模糊效果

推荐文章:探索xBlur - 为Android带来iOS般的实时模糊效果 在追求完美用户体验的移动开发领域,细节的精致往往成为应用脱颖而出的关键。今天,我们来探讨一个令人眼前一亮的开源项目——xBlur,它为Android应用程序带来了如同iOS一般的实时模糊效果,让界面设计达到新的高度。 项目介绍 xBlur是一个专为Kotlin和Android Jetpack Compose量身定制的库,旨在...

gitblog_00011的博客 1014

Android 状态栏通知Notification、NotificationManager 学习

Android消息通知

a day a better 948

Iconify通知面板优化:让你的通知更加美观实用

Iconify是一款专为Android 12+设备设计的个性化工具,它能帮助你轻松自定义设备的图标、颜色、形状,甚至通知面板,打造出完全符合个人风格的手机界面。通过简单直观的设置,即使是新手用户也能快速上手,让你的通知面板既美观又实用。 ## 为什么要优化通知面板? 通知面板是我们与手机交互最频繁的界面之一,每天都会查看无数次。一个设计合理、视觉舒适的通知面板不仅能提升使用体验,还能让你在繁忙

gitblog_00908的博客 1040

Android 之 通知Notification

[size=large][color=red][b]Notification 和 NotificationManager 的基本用法[/b][/color][/size] [size=small][color=darkred][b] 1. 用途:用来设置通知; 2. 说明:NotificationManager 为后台运行的服务 , 用来发送通知;Notification 类表示一个持久性的...

Sunzone 194

Android锁屏动画实现,Pixate模拟“Android Lollipop的锁屏界面”制作思路分享

因为不知何故,PS里导出的gif动画比实际播放的速度要慢一点。特别是在电话/拍照快捷键的收起动画显得有些慢。实际效果是正常的。制作时也力求尽可能的与原生的Android Lollipop的锁屏界面的交互和动画属性逻辑相符。但由于本人技术方面和Pixate本身的限制,无法做出全部百分百的锁屏功能界面。此案例中主要实现且重点实现思路:1. 点击屏幕,通知条有动画弹动。并在动画结束后才可以点击电话,...

weixin_39860108的博客 494

[安卓] 实现悬浮通知效果

自定义Toast

拉戈蓝人的博客 3628

安卓通知

安卓通知 通知是程序在后台运行时候显示在系统栏的内容,可以使用在Service,Activity,content provider中 基本使用 (1)构建NotificationManager NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_S...

ytingyu 267

安卓手机高级通知管理 | 对某一应用的部分通知进行屏蔽 - 安卓9及以上

安卓手机高级通知管理 - 安卓9 想必我们都被手机繁杂的通知所困扰过,那么,有没有方法可以屏蔽某一应用的一部分通知呢,答案是肯定的,但前提是你的手机系统是安卓9或以上。

NSJim的博客 4251
上一篇: Java的 CopyOnWriteArrayList
下一篇: Android屏幕适配全攻略(最权威的官方适配指导)
cding1818
博客等级 码龄17年 963粉丝 154原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值