关于android实现app全屏显示的效果,即调整状态栏

时间:2024-03-06 09:21:28

打开安卓应用,在支持全面屏(包括刘海屏)的情况下,使用titleBar覆盖上方状态栏,使UI效果看起来更加良好

一般操作,在activity类的onCreate方法中,在设定布局内容后,设置代码:

setContentView(...);

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {

  getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); // 清除状态栏透明效果

  getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN); // app全屏显示,但是状态栏不会被隐藏,状态栏依然可见,Activity顶端部分会被状

                                                 // 态栏遮住;也可以使用View.SYSTEM-UI_FLAG_FULLSCREEN来隐藏状态栏

  getWindow().setStatusBarColor(Color.TRANSPARENT);

}

本方法没有使用到Toolbar,若使用Toolbar则在布局文件中添加paddingTop="@dimen/toolbar_padding_top",此值要在values的styles文件里设置为0dp,在values-v19的styles里设为25dp,区分安卓系统版本。,则样就可以做到状态栏的颜色和toolbar的颜色保持一致。还有别忘记在代码中设置透明化。