前言
在实际的Android开发当中,由于国内很多Android厂商对系统的做法不一致。所以有部分手机的状态栏默认颜色是白色的,那么如果我们开发的应用是白色就会看不清楚状态栏的字体和图标颜色,影响我们应用的整体体验感。我之前遇到也很头疼,看了很多博客发现并没有我想要的效果,我结合网上的博客写出了一个属于我的方法(如有雷同,纯属巧合)。
解决方法
/**
* 界面设置状态栏字体颜色
*/
public void changeStatusBarTextImgColor(boolean isBlack) {
if (isBlack) {
//设置状态栏黑色字体
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
} else {
//恢复状态栏白色字体
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE);
}
}
在onCreate
方法里面调用:
//设置手机应用内部状态栏字体图标为白色
changeStatusBarTextImgColor(flase);
//设置手机应用内部状态栏字体图标为黑色
changeStatusBarTextImgColor(true);
总结
目前没有经过大量的机型测试,后期出现意外会再修改博客。如果您使用我的方法出现问题,麻烦分享一下共同探讨修改,谢谢!
后续参考
这个博客是我两年写的了,可能存在theme问题,有一个小伙伴发现在系统6.1的红米3s上面有失败的情况,他找到了解决方案:
【Android】沉浸模式:适配 StatusBar 和 NavigationBar
有兴趣的小伙伴可以去看看。