我们都知道app状态栏颜色要根据页面进行变换,但是有时候UI会给出白色的页面,状态栏自然也要设置成白色的了,但是状态栏字体都是浅色系列的,一设置成白色就苦逼了,神马时间,电量,WI-Fi,蓝牙,手机各种状态都看不到了,网上搜了也没啥好使的。
今天来整一个,老样子,实用致上,直接贴代码:
//设置状态栏文字颜色及图标为浅色,别的颜色可以这样写
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
//设置状态栏文字颜色及图标为深色,当状态栏为白色时候,改变其颜色为深色,简单粗暴直接完事
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
另外附上一个改变状态栏颜色的方法,写在BaseActivity即可,之前的博客里有,今天再贴一波。
//设置导航栏颜色
public static void setWindowStatusBarColor(Activity activity, int colorResId) {
try {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = activity.getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(activity.getResources().getColor(colorResId));
//底部导航栏
//window.setNavigationBarColor(activity.getResources().getColor(colorResId));
}
} catch (Exception e) {
e.printStackTrace();
}
}