SystemUI中如何控制通知中图标的颜色

     不积跬步无以至千里    

一.简述

      最近出了个bug,关于自己做的通知栏上出现了通知的图标不显示问题,其实这里不是不显示,是因为主题颜色和系统出现了重色导致通知图标看不见而已,因此在系统中的处理通常使用反色进行显示(有点小智能呢),我们这一块呢为了让风格同意可以通过自己设置和自己通知栏整体主题颜色相反的颜色就可以了(这里我统一置成灰色),图如下:

其中查看通知这块,当时的理解就有两种通知:

1.应用通过设置一些基本的参数组成一个通知内容,这应该就是低版本的通知形式.

2.应用通过设置一些基本的参数,以及传入一个自定义的布局,这种是现在应用常用的通知形式.

二.流程

一般操作流程是:

应用(Notification.Builder或者Notification的三方库)创建通知------framework中的Notification的管理-----SystemUI通过Notification的监听通知的变化(增/删/更新),获取到了StatusBarNotification对象根据这个获取到了Notification的对象,因此通过这个Notification(下面代码是mView)就能获取到了这个Notification中的布局元素了,如下代码:

   1.关联控件

        //获取通知中的图标
        mIcon = mView.findViewById(com.android.internal.R.id.icon);
        mHeaderText = mView.findViewById(com.android.

猜你喜欢

转载自blog.csdn.net/WDYShowTime/article/details/86300263