EditText彈出軟鍵盤把檢視上彈
阿新 • • 發佈:2019-01-02
原文地址:https://blog.csdn.net/sky2016_w/article/details/78435730
前言:我們在開發中,經常會遇到Activity中的佈局的下方有EditText,獲取焦點彈出軟鍵盤的時候,軟鍵盤可能會遮擋輸入框,這樣使用者體驗非常不好,如何解決這一現象呢?
一、修改AndroidManifest.xml檔案,如下程式碼:
<activity android:name=".activity.DonateActivity" android:configChanges="orientation|keyboardHidden" android:screenOrientation="portrait" android:windowSoftInputMode="stateVisible|adjustPan|stateHidden" > </activity>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
二、我們來了解這裡各個配置的含義:
stateUnspecified:介面沒有設定”android:windowSoftInputMode”時的狀態.這個狀態是彈出有EditText的介面時時不彈出軟鍵盤的,當EditText獲取焦點的時候彈出軟體盤
stateUnchanged:狀態不改變,意思就是和上一個介面相同,上一個介面彈出軟鍵盤,跳轉到這個介面時,軟鍵盤也是彈出狀態.
stateHidden:隱藏鍵盤,彈出這個介面的時候,不管上個介面是什麼狀態,這個介面的軟鍵盤都是隱藏的.
stateAlwaysHidden:一直隱藏(跟上面的區別未知,試不出來).
stateVisible:強制彈出軟鍵盤.跳轉到介面後,沒有EditText也彈出鍵盤.
stateAlwaysVisible:一直顯示鍵盤(同上).
adjustUnspecified:算是預設方式.如果介面沒有被ScrowView包裹,鍵盤會擋住一部分內容,如果介面被ScrowView包裹了,會讓ScrowView中的內容滾動,以放下軟鍵盤.
adjustPan:主介面不會縮放,會向上移來放置軟鍵盤