CoordinatorLayout 沉浸式一体栏 bug 解决

我在 CoordinatorLayout 为父布局的情况下,想要实现 「沉浸式一体栏的情况」如下图


CoordinatorLayout 沉浸式一体栏 bug 解决_第1张图片

这样的效果时,顶部的「状态栏」一直存在占位现象。

最终解决方案

一、去掉布局中设置的

    android:fitsSystemWindows="true"

二、在 Activity onCreate() 中 添加如下设置代码

this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);

除了这两行,还需要再添加

if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.root_container_layout), new android.support.v4.view.OnApplyWindowInsetsListener() {
    @Override
   public WindowInsetsCompat onApplyWindowInsets(View v, WindowInsetsCompat insets) {
        return insets.consumeSystemWindowInsets();
   }
});
}

即可。

请看效果图


CoordinatorLayout 沉浸式一体栏 bug 解决_第2张图片

你可能感兴趣的:(CoordinatorLayout 沉浸式一体栏 bug 解决)