美文网首页
普通沉浸式状态栏实现

普通沉浸式状态栏实现

作者: EnzoRay | 来源:发表于2019-10-08 16:19 被阅读0次

    通过这段代码

    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT){
          getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
    }
    

    即可使状态栏透明,内容区域会延伸到状态栏,但是内容区域也跟着置顶了,如下图:


    device-2019-10-08-162533.png

    想要内容区域回到它该待的位置,可以选择2种方式:
    1、在对应的xml文件最外层的ViewGroup中添加:android:fitsSystemWindows="true"
    2、设置Toolbar的margin值:

               //获取状态栏的高度
                int statusBarHeight = TRStatusBarUtil.getStatusBarHeight(this);
                ConstraintLayout.LayoutParams layoutParams = (ConstraintLayout.LayoutParams) toolbar.getLayoutParams();
                layoutParams.topMargin = statusBarHeight;
                toolbar.setLayoutParams(layoutParams);
    

    这样就可以达到目的了,代码链接地址:
    https://github.com/leihupqrst/status_bar

    相关文章

      网友评论

          本文标题:普通沉浸式状态栏实现

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