第一次在简书发文章,有问题多指教
本篇介绍自定义通知样式时会遇到的一些坑,本篇旨在记录坑,而不在全面讲解自定义的方法
坑
文字颜色:强烈使用系统定义的文字颜色,否则需要固定背景色
自定义View的尺寸: 建议自适应,因为不同系统高度会有差别
不同系统版本的兼容性处理
详细讲解
文字颜色
首先一个大前提,通知栏的背景色的颜色是不确定的,有深色,也有浅色。
这里分两种情况说明。
一种是自定义布局的背景色固定,这种情况下可以直接指定文字颜色。但是这种在通知栏的观感不是很好,比如浅色通知栏,显示一条黑色通知显得很突兀,也不好看。
第二种是透明背景色,这时文字颜色就不能固定了,好在系统提供的对应的文字样式。
原生系统提供了通知栏的适配样式,这个样式会保证在通知栏的文字颜色一直是正常可见的。
某些定制系统使用了系统提供的样式还是会有问题,比如小米6.0的某个版本。其他定制系统也类似,后面有详细讨论
下面先说下如何使用系统样式来适配
由于5.0引入MeterialDesign,5.0及以上的样式命名有所更改,所以需要分别设置。
SDK21以下
values/style.xml
标题样式
android:textAppearance="@android:style/TextAppearance.StatusBar.EventContent.Title"
文字颜色:
android:textAppearance="@android:style/TextAppearance.Statu