通知栏设置系统字体颜色

欢迎Follow我的GitHub, 关注我的.

Colors

本文的合集已经编著成书,高级Android开发强化实战,欢迎各位读友的建议和指导。在京东即可购买:https://item.jd.com/12385680.html

Android

Android的Rom版本非常多, 通知栏颜色也各有不同, 如HTC是白底, 红米Note是暗色透明, 也有其他黑底, 灰底等. 统一设置相同的字体颜色, 必然会导致颜色冲突. 那么如何设置字体颜色, 可以正常显示呢?

HTC(5.0), 标题和内容的颜色已经和系统完全相同, 字体大小是适配的.

HTC5.0

红米Note, 标题和内容的颜色统一使用StatusBar字体的颜色.

通知栏设置系统字体颜色_第1张图片
红米Note

通知的逻辑

        RemoteViews views = new RemoteViews(mAppContext.getPackageName(), R.layout.view_notification);
        views.setImageViewResource(R.id.notification_iv_portrait, getSmallIcon());
        views.setTextViewText(R.id.notification_tv_calories, getContentText());

1. 版本5.0以下

通知的背景默认系统背景, 字体颜色@style/TextAppearance.StatusBar.EventContent.



    ...
    

        

        
    

TextAppearance.StatusBar.EventContent, 顾名思义StatusBar的事件内容文本样式. 在系统中, 会默认匹配, 如灰色等.

2. 版本5.0及以上

新建layout-v21, 表面5.0版本以后使用.





    

    

        

        
    

@android:style/TextAppearance.Material.Notification.Title通知栏标题.
@android:style/TextAppearance.Material.Notification.Line2通知栏内容.
这样就可以完全匹配系统颜色.

OK, 这个问题已经解决了.

参考

你可能感兴趣的:(通知栏设置系统字体颜色)