布局延伸至状态栏的一种方法

来源:互联网 发布:浙大软件学院研究生 编辑:程序博客网 时间:2024/05/02 05:51

布局延伸至状态栏的一种方法


最近公司项目中有一个需求:需要把高斯模糊的效果图延伸到状态栏后面,在不全屏的情况下高斯模糊的背景图伸展到状态栏后面。我的实现方式如下(只是针对如何将布局伸展至状态栏):为window添加flags,代码如下:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);//布局可以无限延伸至屏幕区域外,自然也就可以延伸至状态栏后面.
然后在为布局设置marginTop,值为状态栏的高度。代码如下:

 RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) view.getLayoutParams();            params.setMargins(0, Utils.getStatusBarHeight(view.getContext()), 0, 0);            view.setLayoutParams(params);public static int getStatusBarHeight(Context context) {        int result = 0;        int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen","android");        if (resourceId > 0) {            result = context.getResources().getDimensionPixelSize(resourceId);        }        return result;    }

效果图请看图片音乐播放界面效果

0 0
原创粉丝点击