Android使用Notification实现宽视图通知栏(二)
notification是在你的应用常规界面之外展示的消息。当app让系统发送一个消息的时候,消息首先以图表的形式显示在通知栏。要查看消息的详情需要进入通知抽屉(notificationdrawer)中查看。通知栏和通知抽屉(notificationdrawer)都是系统层面控制的,你可以随时查看,不限制于app。
notification 的设计:
作为android ui中很重要的组成部分,notification拥有专属于自己的设计准则。
notification的界面元素在通知抽屉中的notification有两种显示方式,取决于你的android版本以及notification drawer的状态:
(1)普通视图
这种风格是notification drawer的标准显示方式。
普通视图博文链接:
(2)宽视图
指你的notification被展开的时候会显示更大的视图,这种风格是android4.1之后才有的新特性。
下面将详细介绍宽视图:
只有当notification被展开的时候这种宽视图的notification才会出现,通过手势操作可以展开一个普通的notification(部分定制系统不可以,会直接显示宽视图)。这种风格的notification从android4.1以后才开始支持。下面的截图展示了inbox风格的notification:
你应该注意到了这种notification其实跟普通的没多大差别,
唯一的区别在于数字7-详情区域。
不同宽视图notification这里的显示是有区别的,有如下几种风格:
大图标风格:详情区域显示一个最高位256dp的bitmap。
文字风格:详情区域显示一段文字
消息盒子风格(inbox style):详情区域显示几行文字。
下面是我们本次演示的效果图:
下面开始代码实现,这里就不赘述点击按钮的布置了,直接上java的notification实现代码:
public class mainactivity extends appcompatactivity { private static final int no_2 =0x2; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); } //按钮的点击方法 public void show(view v){ notificationcompat.builder builder = new notificationcompat.builder(this); builder.setsmallicon(r.mipmap.guojia); builder.setcontenttitle("郭嘉");//系统限制,可能不显示 builder.setcontenttext("我们打袁绍吧");//系统限制,可能不显示 builder.setdefaults(notification.default_all); //添加宽视图 notificationcompat.inboxstyle style = new notificationcompat.inboxstyle(); style.setbigcontenttitle("十胜十败"); //由手机屏幕像素决定显示多少 style.addline("第一是道胜"); style.addline("第二是义胜"); style.addline("第三是治胜"); style.addline("第四是度胜"); style.addline("第五是谋胜"); style.addline("第六是德胜"); style.addline("第七是仁胜"); style.addline("第八是明胜"); style.addline("第九是文胜"); style.addline("第十是武胜"); style.setsummarytext("作者:郭嘉");//添加概要 builder.setstyle(style); notification n = builder.build(); notificationmanager manager = (notificationmanager) getsystemservice(context.notification_service); manager.notify(no_2, n); } }
今天就这样,简单演示了notification的宽视图的实现。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: Python中is与==判断的区别
下一篇: struts2实现文件上传显示进度条效果
推荐阅读
-
Android使用Notification实现宽视图通知栏(二)
-
Android种使用Notification实现通知管理以及自定义通知栏实例(示例四)
-
Android 使用AlarmManager和NotificationManager来实现闹钟和通知栏
-
Android 使用AlarmManager和NotificationManager来实现闹钟和通知栏
-
Android不使用自定义布局情况下实现自定义通知栏图标的方法
-
Android不使用自定义布局情况下实现自定义通知栏图标的方法
-
Android中使用Notification实现状态栏的通知
-
Android中使用Notification在状态栏上显示通知
-
Android中使用Notification实现状态栏的通知
-
Android中使用Notification在状态栏上显示通知