Android 10.0 framework关于systemUI状态栏透明背景的功能实现

1.概述

在10.0的系统产品定制化开发中,在对于系统原生SystemUI的状态栏背景在沉浸式状态栏的
情况下默认是会随着背景颜色的变化而改变的,在一些特定背景下状态栏的背景也是会改变的,所以由于产品开发需要
要求需要设置状态栏背景为透明的,所以就需要在Activity创建的时候设置状态栏的背景色来完成功能的开发

2.framework关于systemUI状态栏透明背景的功能实现的核心类

frameworks\base\core\java\android\app\ActivityThread.java
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java

3.framework关于systemUI状态栏透明背景的功能实现的核心功能分析和实现

在系统SystemUI状态栏中,StatusBar也是继承SystemUI,启动流程和SystemUI一致。并在start的时候添加创建StatusBar相关的view。
我们从StatusBar的start()方法开始看,从这里来分析下Statusbar的加载流程和工作原理

3.1 关于StatusBar的相关布局构建分析相关源码

@Override
public void start() {

    // 省略部分代码......

    // 创建整个SystemUI视图并添加到WindowManager中

    createAndAddWindows();//这个重点方法,创建相关的视图

    // 省略部分代码......

}

public void createAndAddWindows(@Nullable RegisterStatusBarResult result) {

    

你可能感兴趣的:(android,10.0,Rom定制化高级进阶,android,systemui,设置状态栏背景,状态栏背景,透明背景)