2012-03-04 126 views
12

我有一个PopupWindow,当用户在EditText中输入时显示。这个弹出窗口提供了一些建议。 我的问题是,当弹出显示时,它的一部分显示在屏幕上的键盘上,阻止用户继续输入。 有谁知道这种行为的原因,我怎么修复它?PopupWindow以上虚拟键盘

在此先感谢(:

+0

你可以张贴PopupWindow代码? – 2012-03-05 12:11:13

+0

这是弹出窗口的正常行为。它应该在哪里?键盘上方可能没有空间(在小屏幕上) – Jin35 2012-03-05 12:25:55

+0

是的,屏幕上弹出的位置是正确的,但我希望键盘总是在前面,而不是弹出窗口覆盖。例如,查看AutoCompleteView的行为,下拉视图不包含虚拟键盘。我想达到同样的结果。 – pane619 2012-03-05 23:39:07

回答

0

尝试使用

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

,而不是

PopupWindow.showAsDropDown (View anchor)

+0

我试过了:结果相同。 – pane619 2012-03-05 23:35:14

7

要让softkeyboard背后的popupwindow只设置这一行:

popupWindow.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED); 

popupWindow.setFocusable(false); 
popupWindow.setOutsideTouchable(false); 
0
popupWindow.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED); 

这正与棒棒糖

1

试试这个

popupWindow = new PopupWindow(popupView, WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.WRAP_CONTENT,true);