关于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);
主要核心代码就是这些
来看修改后的显示效果
初次写博客,希望各位大牛们多担待了,有更好的方法希望大牛们留言给大家,方便大家学习交流!
废话不多说,首先看我遇到的问题的效果图!
因为是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);
主要核心代码就是这些
来看修改后的显示效果
初次写博客,希望各位大牛们多担待了,有更好的方法希望大牛们留言给大家,方便大家学习交流!
相关文章推荐
- android:修改PagerTabStrip中的背景颜色,标题字体的样式、颜色和图标以及指示条的颜色
- android应用:startActivityForResult使用实例
- Android 开源框架Volley完全解析,Volley的基本用法。
- android EditText 有边框 透明样式
- Android Properties 存储
- Dexposed:android免Root无侵入Aop框架
- Dexposed:android免Root无侵入Aop框架
- 最佳实践之 Android代码规范
- 最美应用-从Android研发工程师的角度之[最美时光]
- 一培训机构设计的学习android课程内容:供大家参考
- [置顶] Android开发之动态库调用
- Android ftp 上传图片
- Android语言国际化
- 系统去掉 Android 4.4.2 的StatusBar和NavigationBar
- android知识杂记
- Android笔记(七)活动的生命周期
- android studio导入so库Failure [INSTALL_FAILED_NO_MATCHING_ABIS]解决方案
- android SDK Manager下载和更新速度慢甚至无法下载解决方案
- Android 使用Fragment界面向下跳转并一级级返回
- Android学习笔记:超能RecyclerView组件使用(下)--实现监听事件