Android语言基础教程(74)Android高级用户界面设计之使用Notification在状态栏上显示通知:还在用弹窗骚扰用户?试试Notification吧,让通知变得优雅又不惹人烦。

01 什么是状态栏通知?

状态栏通知,顾名思义,就是显示在屏幕顶部状态栏的通知信息

它允许应用程序以不干扰当前Activity的方式将事件通知用户。与Toast那种一闪而过的提示不同,Notification会将信息保留在状态栏和通知窗口中,直到用户主动清除。

Notification与Toast的区别十分明显:

  • Toast相当于一个没有按钮的对话框,弹出几秒后自动消失,无法持久化
  • Notification则会停留在状态栏,即使应用关闭也不会消失,用户可以随时查看。

这种特性使得Notification成为后台服务(Service)与用户通信的理想方式。当后台服务需要提醒用户某个事件并需要用户响应时,它不应该直接启动Activity,而是创建一个状态栏通知,让用户在方便时点击处理。

02 通知的组成结构:解剖一个Notification

一个标准的Notification包含多个视觉元素:

  • 小图标:显示在状态栏左侧,是通知最核心的视觉标识必须设置
  • 标题:通知的主要内容概括,吸引用户眼球。
  • 内容文本:对通知的详细说明,让用户了解具体情况。
  • 时间戳:通知产生的时间,默认是系统发出通知的时间。
  • 大图标:在通知展开后显示,可用于显示应用logo或联系人头像。

在Android 4.1(Jelly Bean)及更高版本中,通知还支持扩展布局,可以显示更多内容,如长段落文本或图片预览,用户可以通过双指滑动或pinch-zoom手势打开这些扩展视图。

03 创建通知 step-by-step:从零打造你的第一个Notification

创建和显示一个状态栏通知需要经过几个明确的步骤:

第一步:获取NotificationManager

NotificationManager是Android系统提供的通知管理器,负责管理和运行所有通知。

// 获取NotificationManager对象
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

注意:NotificationManager是系统服务,不能直接实例化,必须通过getSystemService()方法获取。

第二步:创建Notification构造器

在Android 4.0及以上版本,推荐使用Notification.Builder来构建通知:

// 创建Notification构造器
Notification.Builder mBuilder = new Notification.Builder(this);

第三步:设置通知的基本属性

使用Builder对象设置通知的各种属性:

// 设置通知小图标(必须)
mBuilder.setSmallIcon(R.
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

值引力

持续创作,多谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值