PopupWindow软键盘弹出遮挡输入框

在项目中使用到全屏的PopupWindow,底部有一个EditText,在软键盘弹出的时候输入框会被遮挡,记录一下我解决这个问题的整个过程:

  1. 第一时间就想到了去看看AndroidManifest中对应的Activity看看有没有windowSoftInoutMode,发现已经设置了 android:windowSoftInputMode="stateHidden|adjustResize"

  2. 百度搜索这个问题,找到的解决方法是PopupWindow设置

    mWindow.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED); mWindow.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
    BUT,我设置完之后还是会被遮挡。

  3. 顽强的我继续搜索,发现有人说给PopupWindow的布局文件最外层嵌套ScrollView,我马不停蹄的试了试这位大哥的妙招。结果,依旧令人失望呀。

  4. 我感觉好绝望,但是没办法问题还是要解决。我突然想起来djustResize有一个兄弟adjustPan,之前经常使用adjustResize不能实现的效果使用adjustPan就好了,那么我立马修改了PopupWindowmWindow.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
    AndroidManifest中对应的Activity设置为 android:windowSoftInputMode="stateHidden|adjustPan"

哇,哇,哇。他好了,终于不会遮挡了,记录一下,给有需要的人!

你可能感兴趣的:(Android)