动态实现通知栏的显示和隐藏

做功能的时候需要实现当前activity在不同状态的时候,通知栏的显示和隐藏。总结一下:
方法一:

两行代码隐藏,但是受版本限制。
//隐藏当前Activity的通知栏,4.0以上
View decorView = getWindow().getDecorView();
int uiOPtions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOPtions);

方法二:

  直接copy去了
  private void full(boolean enable) {
    if (enable) {
        WindowManager.LayoutParams lp = getWindow().getAttributes();
        lp.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN;
        getWindow().setAttributes(lp);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
    } else {
        WindowManager.LayoutParams attr = getWindow().getAttributes();
        attr.flags &= (~WindowManager.LayoutParams.FLAG_FULLSCREEN);
        getWindow().setAttributes(attr);
        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
    }
}

你可能感兴趣的:(Android)