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

小弟最近在做项目的时候遇到一个状态栏遮挡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);

主要核心代码就是这些

来看修改后的显示效果


初次写博客,希望各位大牛们多担待了,有更好的方法希望大牛们留言给大家,方便大家学习交流!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值