设置状态栏背景色:

getWindow().setStatusBarColor(getColor(R.color.D1));

通过这个设置可以修改状态栏背景色,但是如果设置黑色或者白色会有字体颜色和背景相同导致看不见文字的问题,下面设置字体颜色可以解决这个问题

设置状态栏字体颜色

安卓并不提供修改状态栏字体的sdk,系统根据页面风格自动处理字体颜色(前提:需要设置成NoActionBar,否则状态栏字体不随页面风格改变),所以我们可以通过设置页面风格简介设置状态栏字体颜色
Theme.AppCompat.NoActionBar
此时状态栏是白色字体
Theme.AppCompat.Light.NoActionBar
此时状态栏是黑色字体

我们也可以在代码中动态的改:
亮色模式:SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
浅色模式:
SYSTEM_UI_FLAG_VISIBLE

//设置字体黑色
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR)
//设置字体白色
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE)

悬浮在内容区之上or顶部(配合设置透明色可实现沉浸式)

getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN)

沉浸状态栏

<color name="transparent">#00000000</color>

白色字体沉浸:

      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
            getWindow().setStatusBarColor(getColor(R.color.transparent));

黑色字体沉浸:

     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
            getWindow().setStatusBarColor(getColor(R.color.transparent));

如果想要成为架构师或想突破20~30K薪资范畴,那就不要局限在编码,业务,要会选型、扩展,提升编程思维。此外,良好的职业规划也很重要,学习的习惯很重要,但是最重要的还是要能持之以恒,任何不能坚持落实的计划都是空谈。

如果你没有方向,这里给大家分享一套由阿里高级架构师编写的《Android八大模块进阶笔记》,帮大家将杂乱、零散、碎片化的知识进行体系化的整理,让大家系统而高效地掌握Android开发的各个知识点。
在这里插入图片描述
相对于我们平时看的碎片化内容,这份笔记的知识点更系统化,更容易理解和记忆,是严格按照知识体系编排的。

全套视频资料:

一、面试合集

在这里插入图片描述
二、源码解析合集
在这里插入图片描述

三、开源框架合集
在这里插入图片描述
欢迎大家一键三连支持,若需要文中资料,直接扫描文末CSDN官方认证微信卡片免费领取↓↓↓

# android
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

  • 浏览量 5052
  • 收藏 0
  • 0

所有评论(0)