在项目中使用到全屏的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"
。
哇,哇,哇。他好了,终于不会遮挡了,记录一下,给有需要的人!