Alec's blog

唯纯粹与热爱不可辜负

0%

Android修改状态栏

效果图

这里的处理都是Android5.0以上的。

修改状态栏颜色

在这里插入图片描述

1
2
Window window = activity.getWindow();
window.setStatusBarColor(Color.MAGENTA);

隐藏状态栏

在这里插入图片描述

  • 法一
    1
    2
    3
    Window window = activity.getWindow();
    View decorView = window.getDecorView();
    decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);
  • 法二
    1
    2
    Window window = activity.getWindow();
    window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
  • 半透明状态栏

    在这里插入图片描述
    1
    2
    Window window = activity.getWindow();
    window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

全透明状态栏实现沉浸式

在这里插入图片描述

1
2
3
4
5
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);

修改状态栏字体颜色

  • 设置状态栏图标和文字颜色为黑色
    1
    2
    Window window = activity.getWindow();
    window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
  • 设置状态栏图标和文字颜色为白色
    1
    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