1. 程式人生 > >ScrollView中包含EditText,設定android:windowSoftInputMode="adjustPan"後無效

ScrollView中包含EditText,設定android:windowSoftInputMode="adjustPan"後無效

最近在做專案的時候遇到了如下問題:

ScrollView中包含EditText,點選EditText輸入內容的時候被鍵盤遮擋,而且ScrollView無法繼續向上滑動到輸入框位置。

解決辦法:

在ScrollView的根節點處新增屬性 android:fitsSystemWindows="true",這樣ScrollView可以繼續向上滑動了,但是鍵盤彈起的時候還是會遮擋輸入框,需要使用者手動向上滑動才能看見,體驗不好。

於是在清單檔案中設定對應的屬性 android:windowSoftInputMode="adjustPan",但是發現不起作用。

解決辦法:

在activity佈局的根節點處新增屬性 android:fitsSystemWindows="true" 即可。

根據官方文件,如果某個View 的fitsSystemWindows 設為true,那麼該View的padding屬性將由系統設定,使用者在佈局檔案中設定的padding會被忽略。系統會為該View設定一個paddingTop,值為statusbar的高度。fitsSystemWindows預設為false。