Android开发——Notification通知的各种Style详解

叭叭呜 2018-01-29

本来是想与之前讲解使用Notification通知使用一起写的,查看了资料,觉得有必要将这Style部分单独拿出来讲解

前篇:Android开发——Notification通知的使用及NotificationCopat.Builder常用设置API

上一篇中也是介绍了两种常用的Style,这一篇算是扩展之前的内容

Android开发——Notification通知的各种Style详解

BigTextStyle

看了网上的资料,好像这个在之前的版本是点击通知栏的消息才会显示出在bigText中设置的文字,不过,我试的时候发现是直接显示出来了,它会将原来的setContentTitle和setContentText都替代,bigText替代contentText,bigcontentTitle替代ContentTitle

            android.support.v4.app.NotificationCompat.BigTextStyle style = new android.support.v4.app.NotificationCompat.BigTextStyle();
                style.bigText("这里是点击通知后要显示的正文,可以换行可以显示很长很长很长很长很长很长很长很长很长很长很长很长很长<br />          很长很长很长长很长很长很长很长长很长很长很长很长长很长很长很长很长很长很长");
                style.setBigContentTitle("点击后的标题");
                //SummaryText没什么用 可以不设置
                style.setSummaryText("末尾只一行的文字内容");

之后直接调用setStyle,将style作为参数传入

Android开发——Notification通知的各种Style详解

BigPictureStyle

主要的还是bigPicture这个方法,其他两个类似之前的BigText,将原来的给替代掉了,不过不设置的话不会替代

android.support.v4.app.NotificationCompat.BigPictureStyle style = new android.support.v4.app.NotificationCompat.BigPictureStyle();
style.setBigContentTitle("BigContentTitle");
style.setSummaryText("SummaryText");
style.bigPicture(BitmapFactory.decodeResource(getResources(),R.drawable.small));
Android开发——Notification通知的各种Style详解

InboxStyle

每行内容过长时并不会自动换行,与BigText类似,设置有就会替代原来的ContentText和Title

android.support.v4.app.NotificationCompat.InboxStyle style = new android.support.v4.app.NotificationCompat.InboxStyle();
style.setBigContentTitle("BigContentTitle")
.addLine("第一行,第一行,第一行,第一行,第一行,第一行,第一行")
.addLine("第二行")
.addLine("第三行")
.addLine("第四行")
.addLine("第五行")
.setSummaryText("SummaryText");
Android开发——Notification通知的各种Style详解

MessageingStyle

消息通知,可快速回复message的通知。好像在Android N以上才能使用。目前手上的测试机是低版本的,没有快速回复的操作项。

DecoratedCustonViewStyle

DecoratedMediaCustonViewStyle

MediaStyle

多媒体播放通知,快捷的多媒体操作控件。可以自定义需要显示的操作控件内容。

  • setShowActionsInCompactView

  • setMediaSession

  • setShowCancelButton

  • setCancelButtonInten

<code> builder.addAction(android.R.drawable.ic_media_rew,"",null);
 builder.addAction(android.R.drawable.ic_media_play,"",null);
 builder.addAction(android.R.drawable.ic_media_ff,"",null);
 NotificationCompat.MediaStyle mediaStyle = new NotificationCompat.MediaStyle();
 mediaStyle.setShowActionsInCompactView(0,1,2);
 mediaStyle.setShowCancelButton(true);
 builder.setStyle(mediaStyle);<br /><br />呃,感觉我好像偏离主题了,Notification深入太深了,就先写到这里了,这些功能都是没有用到,我感觉学了好像没有多大意义,就先暂时放弃了!<br /></code>

相关推荐