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

普通沉浸式状态栏实现

作者: 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