效果图
这里的处理都是Android5.0以上的。
修改状态栏颜色
Window window = activity.getWindow();
window.setStatusBarColor(Color.MAGENTA);
隐藏状态栏
- 法一
Window window = activity.getWindow();
View decorView = window.getDecorView();
decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);
- 法二
Window window = activity.getWindow();
window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
半透明状态栏
Window window = activity.getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
全透明状态栏实现沉浸式
Window window = activity.getWindow();
/*如果之前是办透明模式,要加这一句需要取消半透明的Flag
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);*/
window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE |View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
window.setStatusBarColor(Color.TRANSPARENT);
修改状态栏字体颜色
- 设置状态栏图标和文字颜色为黑色
Window window = activity.getWindow();
window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
- 设置状态栏图标和文字颜色为白色
window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
参考大大博客
https://www.cnblogs.com/ldq2016/p/8353190.html
https://www.jianshu.com/p/31c4b324894e