在項目中使用到全屏的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"
。
哇,哇,哇。他好了,終於不會遮擋了,記錄一下,給有需要的人!