Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PopupWindow与Android 5.0上的软按钮重叠_Android - Fatal编程技术网

PopupWindow与Android 5.0上的软按钮重叠

PopupWindow与Android 5.0上的软按钮重叠,android,Android,我用下面的代码创建了一个简单的PopupWindow(代码是C#,Java代码应该基本相同) 在pre-Lollipop设备上,此弹出窗口看起来不错,但在Android 5.0上,弹出窗口与软按钮重叠: 以下是Android 4.4设备上的弹出窗口: 有人知道为什么会发生这种情况以及如何解决吗?这是android api 21中可能存在的错误,这就是他们在api 22中引入方法的原因 但是有一个训练,您可以为弹出窗口设置右y坐标,如下所示: Rect rect = new Rect(); g

我用下面的代码创建了一个简单的
PopupWindow
(代码是C#,Java代码应该基本相同)

在pre-Lollipop设备上,此弹出窗口看起来不错,但在Android 5.0上,弹出窗口与软按钮重叠:

以下是Android 4.4设备上的
弹出窗口


有人知道为什么会发生这种情况以及如何解决吗?

这是android api 21中可能存在的错误,这就是他们在api 22中引入方法的原因 但是有一个训练,您可以为弹出窗口设置右
y
坐标,如下所示:

Rect rect = new Rect();
getWindow().getDecorView().getWindowVisibleDisplayFrame(rect);
int winHeight = getWindow().getDecorView().getHeight();
popup.showAtLocation(rootView, Gravity.BOTTOM, 0, winHeight-rect.bottom);

很有魅力,谢谢!我可以在14小时内给你奖金,如果我忘了,写一篇评论。这个问题也存在于具有底部重力的对话中。此解决方案在计算y偏移时的效果似乎相同。
Rect rect = new Rect();
getWindow().getDecorView().getWindowVisibleDisplayFrame(rect);
int winHeight = getWindow().getDecorView().getHeight();
popup.showAtLocation(rootView, Gravity.BOTTOM, 0, winHeight-rect.bottom);