3.推送的展示样式
收到推送及推送内容以后,我们会把它展示在通知栏上。
先说一下通知栏Ui。要在通知栏上显示推送消息,我们一般使用系统提供的RemoteViews。RemoteViews支持的控件不多,只支持部分原生的控件,比如ImageView , TextView , RelativeLayout... 具体想了解一下支持哪些控件,网上搜一下很多的。第一次用的时候,我还放了Fresco上去,结果直接崩溃了。这里要说明的就是,整个通知栏允许你显示的高度是有限的,比如小米手机允许50dp,华为手机支持80dp,有些手机允许显示60dp,这边就举个例子,不是实际高度,我也没算过。所以,我们在做通知栏布局的时候不要使用一大堆的元素在里面。常见的推送通知栏,就是左边一个logo,logo边上一个推送标题,下面一个推送说明,最右边一个推送时间。这个具体看设计需求。说明的就是内容不能太多,否则收到多条推送了,会被折叠,会有各种奇怪的适配问题。这里自己多尝试也能发现。
这里要说明的重点是
一、RemoteViews的使用
这个比较简单,只要按照特定的加载规则就可以了。也说明一下,不能随便乱改。
RemoteViews mRemoteViews = new RemoteViews(context.getPackageName(), R.layout.msgnotification_item);
// TextView设置内容
mRemoteViews.setTextViewText(R.id.tv_title, info.messagetitle);
mRemoteViews.setTextViewText(R.id.tv_desc, info.messagedesc);