主要解决notification.contentView.getLayoutId()为空的问题。
今天在做自定义通知栏的时候发现了一个问题,就是我把自定义通知栏里面的字体颜色写成了黑色,然后在我米8(android9.0,api 28)的手机上显示没问题(米8 的通知栏背景颜色是白色),然后我再测试机华为手机上测试了一下(android6.0,api 23),手机上测试了一下就有问题了,这款华为手机的通知栏背景色是灰黑色的,所以我设置的黑色字体就显示的不太清楚了,于是就得想办法搞定它。有两种解决办法。
推荐博客:https://blog.youkuaiyun.com/u011200604/article/details/52470770
我就是参照这位大神的代码写的,然后再稍加修改,解决了
notification.contentView.getLayoutId()为空的问题。
对了,网上还有说可以用style样式改变的,但是我试了一下,并没有什么效果,所以就看下面的办法吧
第一种:
就是和360卫士一样,我们只需在自定义的根布局背景颜色设置为白色即可,这样的话,不管我们是在哪里都是可以看到黑色字体的。

不过,当我们在黑色背景的情况下,有一个白底的背景,看起来总是显得很突兀,所以有了第二种办法。
第二种:
获取手机系统通知栏的颜色进行适配,我这里讲解的不是很清楚,可以看上面推荐的博客,
这里就直接看我的代码吧:
publ

本文主要介绍在Android中如何解决自定义通知栏字体颜色在不同手机上显示不清晰的问题。针对华为手机(Android 6.0)通知栏背景颜色导致黑色字体不明显的情况,提供了两种解决方案:1) 设置自定义布局背景为白色;2) 获取系统通知栏颜色进行适配。在API 28及以上版本可能出现`getLayoutId()`为空的错误,建议根据版本进行判断处理。
最低0.47元/天 解锁文章
510

被折叠的 条评论
为什么被折叠?



