Android弹出窗口位于虚拟键盘上方

8

我有一个弹出窗口,底部有一个广告视图。我这样做是为了让用户点击X来关闭广告。

当虚拟键盘弹出时,弹出窗口仍然可见。我该如何让键盘优先于弹出窗口或告诉弹出窗口不要在最上方?

3个回答

9
在调用弹出窗口之前,您需要在其上设置 setInputMethodMode(INPUT_METHOD_NEEDED),这样弹出窗口就会显示在键盘的后面。如果您还在弹出窗口上定义了 setHeight(WindowManager.LayoutParams.WRAP_CONTENT),则当键盘隐藏或重新显示时,它甚至会自动调整大小。

2

尝试在Manifest文件中的activity标签中使用android:windowSoftInputMode="adjustPan"


这个没起作用。我应该补充说明一下,弹出窗口是从tabActivity调用的,而editText视图位于其中一个子选项卡活动中。 - Jeremey
是的,你必须也添加了那个,尝试在清单文件中的TabActivity标签中添加这个。 - Lalit Poptani
仍然不起作用。我不相信可以通过软输入来推动或调整大小弹出窗口。当选择具有软输入的选项卡时,通过关闭弹出窗口来解决该问题。但是,这并不理想。 - Jeremey

0

将 WRAP_CONTENT 添加到您的 popWindow 高度

popWindow.setHeight(WindowManager.LayoutParams.WRAP_CONTENT);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接