在 Android 開發中,當軟鍵盤彈出時,頁面佈局經常會被壓縮、變形,導致文字、圖片等內容擠在一起,嚴重影響用戶體驗。如下圖所示,輸入框彈出後,原本的佈局被嚴重壓縮。

在 AndroidManifest.xml 中為當前 Activity 配置 android:windowSoftInputMode 屬性,設置為 adjustPan 或 adjustNothing,防止佈局自動縮放。
<activity
android:name=".YourActivity"
android:windowSoftInputMode="adjustPan" >
</activity>
若使用 adjustResize(默認值),系統會嘗試壓縮佈局以騰出空間給鍵盤,這正是導致「擠壓」的根本原因。根據業務需求選擇合適的模式即可徹底解決問題。
