Android状态栏与背景图完美沉浸

这个特性是安卓5.0以后才支持的所以需要对系统版本号做判断

1、代码实现,在activity super.onCreate之后  setContentView之前

if (Build.VERSION.SDK_INT >= 21){
              View decorView = getWindow().getDecorView();
                 decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
              getWindow().setStatusBarColor(Color.TRANSPARENT)
    }

getWindow().getDecorView()拿到当前活动DecorView,再setSystemUiVisibility()改变系统UI的显示,View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN和View.SYSTEM_UI_FLAG_LAYOUT_STABLE就表示活动的布局会显示在状态栏上面,再将状态栏设置为透明色setStatusBarColor()

2、activity根布局中还需要加

android:fitsSystemWindows="true"

动手试试吧


//https://blog.csdn.net/knockheart/article/details/80095887

你可能感兴趣的:(Android状态栏与背景图完美沉浸)