沉浸式状态栏

     在《第一行代码》中提到了一种实现方式:android

使用 android:fitsSystemWindows="true" 属性来设置。不过还须要将ui

<item name="android:statusBarColor">@android:color/transparent</item>设置一下,将状态栏设置为透明状态,不过android:statusBarColor属性是从API21开始有的,须要建立vlaues-v21目录。不过在使用后,发现这个时将背景图案拉伸到状态上面。spa

另一种方式是在oncreate中使用:.net

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

这样的效果是只有5.0及以上系统才支持,所以这里先进行了一层if判断,只有系统版本大于或等于5.0的时候才会执行下面的代码。blog

接下来咱们使用了SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN和SYSTEM_UI_FLAG_LAYOUT_STABLE,注意两个Flag必需要结合在一块儿使用,表示会让应用的主体内容占用系统状态栏的空间,最后再调用Window的setStatusBarColor()方法将状态栏设置成透明色就能够了。get

     有篇很详细的博客,有须要能够看一下。沉浸式状态栏博客