Android5.0以上实现全透明的状态栏(仿网易云界面)

Android4.4以上要实现沉浸式状态栏可以通过在style文件设置

就能得到透明的状态栏,比较网易云音乐的界面会发现网易云的状态栏是全透明的,而通过设置windowTranslucentStatus得到的状态栏背景始终是半透明的矩形。所以状态栏颜色会比toolbar颜色深一点(Material Design)

状态栏颜色深一点

Android5.0以上实现全透明的状态栏(仿网易云界面)_第1张图片


状态栏和toolbar颜色是相同的。

Android5.0以上实现全透明的状态栏(仿网易云界面)_第2张图片



为了达到同样的效果,搜索了挺多方法,找到一段代码比较合适。使用如下代码。然后布局文件加上paddingtop属性,设置为25dp。注意布局文件里不需要设置fitSystemWindows属性。设置以后就实现了网易云音乐的界面效果了。

      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            Window window = getWindow();
            window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS
                    | WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
            window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                  | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
            window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
            window.setStatusBarColor(Color.TRANSPARENT);
        }







你可能感兴趣的:(Android5.0以上实现全透明的状态栏(仿网易云界面))