在项目中使用到全屏的PopupWindow,底部有一个EditText,在软键盘弹出的时候输入框会被遮挡,记录一下我解决这个问题的整个过程:
-
第一时间就想到了去看看
AndroidManifest中对应的Activity看看有没有windowSoftInoutMode,发现已经设置了android:windowSoftInputMode="stateHidden|adjustResize"。 -
百度搜索这个问题,找到的解决方法是
PopupWindow设置mWindow.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED); mWindow.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
BUT,我设置完之后还是会被遮挡。 -
顽强的我继续搜索,发现有人说给
PopupWindow的布局文件最外层嵌套ScrollView,我马不停蹄的试了试这位大哥的妙招。结果,依旧令人失望呀。 -
我感觉好绝望,但是没办法问题还是要解决。我突然想起来
djustResize有一个兄弟adjustPan,之前经常使用adjustResize不能实现的效果使用adjustPan就好了,那么我立马修改了PopupWindow中mWindow.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
和AndroidManifest中对应的Activity设置为android:windowSoftInputMode="stateHidden|adjustPan"。
哇,哇,哇。他好了,终于不会遮挡了,记录一下,给有需要的人!
本文记录了解决全屏PopupWindow中EditText被软键盘遮挡的问题,通过调整PopupWindow的软键盘输入模式和AndroidManifest配置,最终使用adjustPan解决了遮挡问题。
1365

被折叠的 条评论
为什么被折叠?



