有时候popupwindow会被输入法覆盖, 有时候popupwindow会被输入法给顶上去. 而且这个问题还跟theme的windowFullscreen属性相关. 不过这些可以都不用管, 根据项目需求, 可自己设定相关参数.

        /** 输入法将覆盖popupwindow*/
        popupWindow.setSoftInputMode(PopupWindow.INPUT_METHOD_NEEDED);
        popupWindow.setSoftInputMode(android.view.WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING);

        /** 输入法将把popupwindow顶上去*/
        popupWindow.setSoftInputMode(PopupWindow.INPUT_METHOD_NEEDED);
        popupWindow.setSoftInputMode(android.view.WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);


注意代码的顺序. 要先设置 需要输入法, 即 先设置 PopupWindow.INPUT_METHOD_NEEDED,  再设置 输入法会不会导致窗口尺寸有所调整, 即 SOFT_INPUT_ADJUST_NOTHING (不调整popupwindow尺寸)  和  SOFT_INPUT_ADJUST_RESIZE (调整窗口尺寸)

还有其它的一些参数. 可以查看PopupWindow.java & WindowManager.java 这个文件

相关文章:

  • 2022-01-01
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-13
  • 2021-06-18
猜你喜欢
  • 2022-12-23
  • 2021-06-13
  • 2022-12-23
  • 2021-05-30
  • 2021-08-24
  • 2022-01-27
  • 2022-12-23
相关资源
相似解决方案