【问题标题】:PopupWindow above Virtual keyboard虚拟键盘上方的 PopupWindow
【发布时间】:2012-03-22 09:24:55
【问题描述】:

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

【问题讨论】:

  • 能贴出PopupWindow的代码吗?
  • 这是弹窗的正常行为。它应该在哪里?键盘上方可能根本没有空间(在小屏幕上)
  • 是的,弹出窗口在屏幕上的位置是正确的,但我想让键盘始终在前面,而不是被弹出窗口覆盖。例如,查看 AutoCompleteView 的行为,下拉视图没有覆盖虚拟键盘。我想达到同样的结果。

标签: java android keyboard popupwindow


【解决方案1】:

尝试使用

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

而不是

PopupWindow.showAsDropDown (View anchor)

【讨论】:

    【解决方案2】:

    要让您的弹出窗口位于软键盘后面,只需设置这一行:

    popupWindow.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED);
    

    还有

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

    【讨论】:

      【解决方案3】:
      popupWindow.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED);
      

      这适用于棒棒糖

      【讨论】:

        【解决方案4】:

        试试这个

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-01-03
          • 2015-01-02
          • 2013-04-02
          • 1970-01-01
          相关资源
          最近更新 更多