最好的說明是在防止鍵盤佈局隱藏工具欄,但顯示滾動內容
Keyboard layout hiding android action bar?
我會貼引號的位置: 「我有這個問題,也可是不同的是,我在edittext上面有一個列表,不能使用滾動容器,如果在edittext聚焦的時候使用adjustResize,它會出現在列表的上方,列表中最後的項目會被遮擋(列表不會被推上去)另一方面,使用adjustResize時,當edittext被集中時,它會將所有東西都拉出來,但是acionbar是隱藏的,我也不能滾動到列表的頂部。一個共享這個解決方案?「
所以
- 我有一個工具欄
- 然後聊天內容
- ,然後將消息發送底杆(EDITTEXT和按鈕)
現在,當我點擊一個ediText,並且軟鍵b打開時,我不希望我的工具欄崩潰並隱藏,但我確實希望我的聊天內容向上滾動,因此,在底部條目上方,我將看到最後一條消息聊天內容(在listView中)。
我已經嘗試了一些活動adjustResize或adjustPan的組合,但他們都沒有工作。甚至包裹在CoordinatorLayout和AppBarLayout中的工具欄,但仍然沒有結果。要麼我的內容被正確推送/滾動,但工具欄隱藏或工具欄保持不變,但softKeyboard與最後幾條消息重疊。
我分享的解決方案是一種解決方法。我已經實現了一個函數scroll(),在新消息到達時滾動我的內容,這是我之前實現的一個函數。我錯過了另一部分,那就是檢測softKeyboard何時打開,以便滾動我的內容。
這是很容易找到這裏 How to check visibility of software keyboard in Android?
我希望有人會發現這個解決辦法有用,至少睡了幾個小時。
注意: 滑動內容的動畫與softkeyboard滑動不一致。鍵盤打開後,我做滾動,這是不同步的。這只是一個單元。但直到我找到一個更好的解決方案來使用本機Android組件或佈局編排此事件時,我纔會關心這一點。