虚拟键盘上方的弹出窗口

16
我有一个PopupWindow,当用户在EditText中输入时会显示出来。这个弹出窗口为他提供了一些建议。 我的问题是,当Popup显示时,它的一部分显示在屏幕上的键盘上,阻止用户继续输入。 有人知道这种行为的原因以及如何解决吗?

你能发布PopupWindow的代码吗? - C.d.
这是弹出窗口的正常行为。它应该放在哪里呢?在小屏幕上可能完全没有键盘上方的空间。 - Jin35
是的,弹出窗口在屏幕上的位置是正确的,但我希望键盘始终在前面,而不是被弹出窗口覆盖。例如,观察AutoCompleteView的行为,下拉视图不会覆盖虚拟键盘。我想实现相同的结果。 - pane619
4个回答

13

要使您的弹出窗口在软键盘后面,请设置此行:

popupWindow.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED);

还有

popupWindow.setFocusable(false);
popupWindow.setOutsideTouchable(false);

2
popupWindow.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED);

这适用于安卓5.0版本


1
尝试这个。
popupWindow = new PopupWindow(popupView, WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.WRAP_CONTENT,true);

0

尝试使用

PopupWindow.showAtLocation(View parent, int gravity, int x, int y)

替换为

PopupWindow.showAsDropDown (View anchor)


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