8.0系统的通知栏适配

在8.0之前我们通知栏的使用:notification = new NotificationCompat.Builder(mContext)

.setWhen(System.currentTimeMillis())

.setSmallIcon(R.drawable.small_icon)

但如果SDK升级到8.0或者以上你会发现这个构建通知的方法已经废弃,并且无法显示通知,这是因为在8.0上引用了产商通道的概念,所以在8.0及以上构建通知的方法改为:NotificationManager  mNotificationManager = (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE);

int importance = NotificationManager.IMPORTANCE_HIGH;

NotificationChannel mChannel = new NotificationChannel(channelId, channelName, importance);

mNotificationManager.createNotificationChannel(mChannel);

通知栏自定义样式

自定义通知栏我们就要使用RemoteViews了,在SDK为16及以上才支持。private RemoteViews getContentBigView() {

mRemoteViews = new RemoteViews(mContext, R.layout.view_baig_notify);

return mRemoteViews;

}

自定义通知栏会有大图样式和小图样式即普通样式和扩展样式,高度上边会有要求限制,普通样式高度不能超过64dp,扩展高度不能超过256dp。

今天我们主要讲一下大小图样式显示的适配。

如果我们可爱的产品和设计妹子给到了优美的大图样式,那我们的设置方法如下:Notification notification = new NotificationCompat.Builder(mContext, id)

.setSmallIcon(R.drawable.small_icon)

.setWhen(System.currentTimeMillis())

.setContentIntent(getDefaultIntent(Notification.FLAG_ONGOING_EVENT))

.setCustomBigContentView(getContentBigView()

.setChannelId(mChannel.getId())

.build();

mNotificationManager.notify(NOTIFICATION_ID, notification);

在手机上运行一下,看到了大图样式那么好看,美滋滋的提交代码,提测给测试。but,,,测试拿着手机来告诉你通知栏大图样式显示不完整,what。。。拿起手机一看,真的是。。。 为什么自己手机上是可以的呢?天杀的通知栏适配,这个通知栏的高度不同的机型不同的room可能测绘出来的大小不同。

仔细看了网易云音乐通知栏的样式,发现适配了默认样式和扩展样式,那么,我们就再适配一套默认样式吧。Notification notification = new NotificationCompat.Builder(mContext, id)

.setSmallIcon(R.drawable.small_icon)

.setWhen(System.currentTimeMillis())

.setContentIntent(getDefaultIntent(Notification.FLAG_ONGOING_EVENT))

.setCustomContentView(getContentView())

.setCustomBigContentView(getContentBigView()

.setChannelId(mChannel.getId())

.build();

mNotificationManager.notify(NOTIFICATION_ID, notification);

private RemoteViews getContentView() {

mRemoteViews = new RemoteViews(mContext, R.layout.view_notify);

return mRemoteViews;

}

这样,通知栏的样式适配就完成了,当然还有一些背景颜色和字体颜色的适配,这里就不展开讲了。

android自定义通知栏样式,Android 通知栏自定义样式相关推荐

  1. android自定义progressbar样式,Android开发中如何实现自定义ProgressBar的样式

    Android开发中如何实现自定义ProgressBar的样式 发布时间:2020-11-20 16:08:10 来源:亿速云 阅读:294 作者:Leah Android开发中如何实现自定义Prog ...

  2. android自定义通知栏图标大小,Android不使用自定义布局情况下实现自定义通知栏图标的方法...

    本文实例讲述了Android不使用自定义布局情况下实现自定义通知栏图标的方法.分享给大家供大家参考,具体如下: 自定义通知栏图标?不是很简单么.自定义布局都不在话下! 是的,有xml布局文件当然一切都 ...

  3. android 自定义进度条 水量,Android自定义带水滴的进度条样式(带渐变色效果)...

    一.直接看效果 二.直接上代码 1.自定义控件部分 package com.susan.project.myapplication; import android.app.Activity; impo ...

  4. android开发UI界面布局教学,android UI学习 -- 设置界面的布局(包括style的使用,selector的使用,Checkbox自定义样式,菜单项的样式)...

    最终实现效果如下图: 具体来说就是实现了checkbox自定义选中和为选择样式,菜单项根据不同位置设置不同背景. 先上整体布局文件代码: xmlns:tools="http://schema ...

  5. android switch自定义样式,Android自定义Switch样式

    如图自定义的Switch样式: 5421606984766_.pic.jpg 需要注意的是:switch的大小是跟thumb的大小有关 下面以样式二为例: switch_track_selector_ ...

  6. android的底部弹出框炫酷的样式,Android自定义底部弹出框ButtomDialog

    本文实例为大家分享了Android自定义底部弹出框的具体代码,供大家参考,具体内容如下 先看看效果和你要的是否一样 一 .先来配置自定义控件需要的资源 1.在res文件夹下创建一个anim文件夹并创建 ...

  7. Android基于高德SDK的开发——自定义地图主题样式(悬浮按钮+底部弹窗)

    日常的地图使用中,平台一般只会给我们提供地图的标准样式,造成了一定程度上的审美疲劳,那么如何实现地图的自定义样式呢?本文使用Android Studio 4.1,给开发者提供了一个基于高德地图SDK进 ...

  8. android spinner自定义样式,android自定义Spinner下拉菜单(下拉列表框)样式

    在Android中Spinner就是下拉菜单,它相当于HTML中的标签. Android中提供的Spinner Widget下拉菜单已经非常好用了,样式也适用, 不过我们还是可以通过定义xml的方式来 ...

  9. android自定义下拉筛选,android自定义Spinner下拉菜单(下拉列表框)样式

    在Android中Spinner就是下拉菜单,它相当于HTML中的标签. Android中提供的Spinner Widget下拉菜单已经非常好用了,样式也适用, 不过我们还是可以通过定义xml的方式来 ...

  10. android自定义进度条样式,Android 自定义进度条

    效果 国际惯例,效果图奉上 在这里插入图片描述 目录 在这里插入图片描述 前言 写在前面,由于之前其实已经写了部分自定义View的方法,所以本来应该按照之前的系列,来进行下载暂停动画进度条,但是我把之 ...

最新文章

  1. [拓扑排序/强联通分量] [NOIP201402] 信息传递
  2. Google JAVA编程风格
  3. tutorial_coreos 01-01-install 2015-05-27
  4. MacOs桌面自动被打乱的原因
  5. 前端学习(360):svn操作前期连接工作
  6. 构造函数失败_抛出异常
  7. 字体图标使用教程 阿里字体图标iconfont 鲸鱼编程
  8. 文件/目录权限设置命令:chmod
  9. os.path的使用
  10. JS编写全选,复选按钮
  11. Java学习手册:JDBC中getString()方法与getObject()方法有什么区别?
  12. intptr java_[转载]C#中int和IntPtr相互转换
  13. 爬虫第十一式:用selenium爬取民政部行政区划代码
  14. [Hadoop培训笔记]05-HDFS详细分析(二)
  15. Stata作回归分析
  16. a豆:在讲一个珍重每一个人的故事
  17. 什么是OEM ODM JDM OQM OBM?
  18. 使用O2OA二次开发搭建企业办公平台(十三)流程开发篇:报销审批流程表单开发
  19. 微信直播小程序端集成源代码
  20. 手机网站(wap)广告展示一般都有哪些表现形式?

热门文章

  1. java.lang.ClassNotFoundException(通俗易懂)
  2. root权限下手动安装open gapps.2022-01-31
  3. Mac OS下FileVault encryption 使用原理与简介
  4. 微信只允许二级分销,否则封停账号,三级分销何去何从?
  5. WLC RTU license
  6. 用了python抢购京东茅台脚本,为什么你还是抢不到茅台?教你这样设置时间,提升成功概率
  7. matlab菜单栏中的Revolve,NURBS matlab工具箱
  8. NRF51822 回顾总结
  9. 移动端微信浏览器调试工具整理eruda,微信x5调试工具无法使用,推荐新工具eruda、vconsole和debugxweb
  10. JS和CSS压缩部署,提高访问效率