PopupWindow设置底部,兼容7.0 与 在华为等带虚拟控制栏被遮挡

Posted 粪乧

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PopupWindow设置底部,兼容7.0 与 在华为等带虚拟控制栏被遮挡相关的知识,希望对你有一定的参考价值。

状况:
由于7.0 Android 源码Bug popupWindow设置了居中或者底部对齐,但是在7.0机器是跑到顶部。

很明显这个bug是和我们设置了Gravity有关。
展示popupWindow的函数有两个,showAtLocation 和 update。

在7.1.1版本中已经修复这个问题.
经过查找资料 : 最简单的方式 就是 不调用 update 方法即可

if (Build.VERSION.SDK_INT != 24) 
        popupWindow.update();

PopupWindow设置底部在华为等带虚拟控制栏被遮挡

PopupWindow的创建完成设置布局视图之后调用

mPopupWindow.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

即可.

参考资料:
兼容7.0问题
PopupWindow 虚拟控制栏被遮挡

以上是关于PopupWindow设置底部,兼容7.0 与 在华为等带虚拟控制栏被遮挡的主要内容,如果未能解决你的问题,请参考以下文章

PopupWindow在安卓7.0及7.1系统上位置显示异常

PopupWindow在安卓7.0及7.1系统上位置显示异常

PopupWindow弹出位置问题

23华为Mate9导航栏遮挡PopupWindow底部布局

如何在根布局底部设置 PopupWindow,如软键盘?

PopupWindow底部弹出