首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Android ListView 底部 EditText 軟鍵盤彈出布局錯亂完美解決

     編輯:程式設計疑難解答

場景:RelativeLayout 頂部標題 + 中間 ListView + 底部 EditText。軟鍵盤彈出時:

  • adjustPan:覆蓋底部佈局,不滾動列表
  • adjustResize:強制跳到列表底部,頂起整頁

根因

ListView 設置了 android:transcriptMode="alwaysScroll",導致鍵盤彈出時自動滾動到底部。

解決

  1. 移除 transcriptMode 或改為 normal
  2. windowSoftInputMode="adjustResize|stateHidden" 保持當前視圖,僅壓縮可用高度

效果對比

屬性移除 transcriptMode 前移除後
adjustPan覆蓋底部佈局光標可見,不遮擋
adjustResize跳到列表底部原位壓縮,體驗最佳

核心:不要在需要固定底部輸入框的頁面使用 transcriptMode。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved