Android沉浸式状态栏

来源:互联网 发布:全球域名注册 编辑:程序博客网 时间:2024/04/29 17:34

实现沉浸式状态栏需要的代码比较简单:

java代码:

        //透明状态栏          getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);          //透明导航栏          getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
xml代码:

android:fitsSystemWindows="true"  android:clipToPadding="true" 
最终结果是状态栏和布局重叠。


如果不想重叠并且布局复杂可以计算出状态栏的高度,然后设置头布局的margin-top值即可:

RelativeLayout.LayoutParams statusBarHeightParams;//得到状态栏margin-top高度statusBarHeightParams = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);statusBarHeightParams.setMargins(0, UiUtils.getStatusBarHeight(), 0, 0);//设置头部间距为状态栏高度llUpside.setLayoutParams(statusBarHeightParams);

状态栏计算:得到Android状态栏高度

0 0
原创粉丝点击