最近在做登陆注册页面,某些页面,背景为白色全屏,因为现在安卓默认的状态栏文字为白色,弄个白色背景,那文字是看不出来了,所以必须换成黑色或其他深色的字体,本来以为,换个文字颜色而已,估计一两句代码就搞掂了,结果,网上找了很多文章,几乎都是得一两页代码才能完事。
在android4.4之前要改变状态栏及其文字颜色暂时是没有其他方法提供,而4.4之后,小米的miu系统和魅族的flyme系统则是可以的,到了android6.0终于可以直接修改了,我按照网上介绍的方法试了一遍,结果让我失望,一点作用也不起,文字颜色还是白色,真是让人头疼,我尝试寻找问题,发现改变颜色代码是执行了,但是怎么没起作用呢?
就当我快要放弃的时候,我突然在网上看到https://www.jianshu.com/p/eec1cf2aa96d 里面说了window必须是FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS(绘画模式)且一定不能是FLAG_TRANSLUCENT_STATUS(半透明模式)才能调用在安卓6.0 SYSTEM_UI_FLAG_LIGHT_STATUS_BAR这个Flag字段,而我在项目中的基本类默认就是设置了半透明模式,我赶紧把模式关了,再调用网上介绍的方法,一试,结果如我所愿,状态栏文字颜色变成我想要的深色效果了。