安卓状态栏文字颜色修改

2019-08-11  本文已影响0人  北铭

在安卓6.0,增加了SYSTEM_UI_FLAG_LIGHT_STATUS_BAR这个Flag字段,可以设置状态栏的字体为深色,不是一直默认的白色了。在浅色背景的沉浸式状态栏中很有必要。

使用方式

getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);

window必须是FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS(绘画模式)且一定不能是FLAG_TRANSLUCENT_STATUS(半透明模式)
注:在8.0跟6.0系统上测试过,8.0这个并没有要求,6.0确实是需要这个前提

在一Activity多Fragment,各Fragment之间字体效果可能要求不同,需动态设置字体颜色

if (isDark) {
    getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);//黑色
 } else {
    getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);//白色
 }

参考文章:https://www.jianshu.com/p/eec1cf2aa96d

上一篇 下一篇

猜你喜欢

热点阅读