您的位置:首页 > 移动开发 > Android开发

关于Android中fragment中创建popwindow全屏显示时手机状态遮挡popwindow的问题

2015-08-21 10:29 465 查看
小弟最近在做项目的时候遇到一个状态栏遮挡popwindow的问题,找 了半天也没有人遇到过同样的问题,故写了此篇文章记录一下!

废话不多说,首先看我遇到的问题的效果图!

因为是fragment,在获取View的时候用的是

View parent = getActivity().getWindow().getDecorView();

来获取,所以可能获取的时候把整个屏幕获取到了,

解决办法

Rect rectangle= new Rect();

Window window= getActivity().getWindow();

//获取到手机状态栏的高度

window.getDecorView().getWindowVisibleDisplayFrame(rectangle);

int statusBarHeight= rectangle.top;

//动态设置状态栏的高度

popwindow.setHeight(parent.getMeasuredHeight()-statusBarHeight);

//并将popwindow的显示的初始位置的顶部也就是Y坐标开始显示

popwindow.showAtLocation(parent, Gravity.TOP,0,statusBarHeight);

主要核心代码就是这些

来看修改后的显示效果

初次写博客,希望各位大牛们多担待了,有更好的方法希望大牛们留言给大家,方便大家学习交流!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: