美文网首页
CoordinatorLayout 沉浸式一体栏 bug 解决

CoordinatorLayout 沉浸式一体栏 bug 解决

作者: 黑键手记 | 来源:发表于2019-02-25 18:30 被阅读7次

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



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

    最终解决方案

    一、去掉布局中设置的

        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 解决

          本文链接:https://www.haomeiwen.com/subject/eyogyqtx.html