android開發中,監聽軟鍵盤的狀態(收起或者開啟)
- description
開發一個聊天介面,聊天的時候,軟鍵盤會擠壓訊息列表,目的是在開啟軟鍵盤的時候,讓訊息列表的最新一條訊息展示在使用者面前
- code
final View view = $(R.id.chat_body);
view.getViewTreeObserver().addOnGlobalLayoutListener(
new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
int heightDiff = view.getRootView().getHeight() - view.getHeight();
// 大於100畫素,是開啟的情況
if (heightDiff > 100) {
// 如果已經開啟軟鍵盤,就不理會
if (keyBoardShown) { return; }
// do something when keyboard show,
// i.e. listView or recyclerView scrolls to bottom
keyBoardShown = true;
return;
}
// 軟鍵盤收起的情況
keyBoardShown = false;
// do something when keyboard hide
}
}
);
reference:
How to check visibility of software keyboard in Android?other code
// 軟鍵盤隻影響輸入框
mainActivity.getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE
);
相關文章
- Android開發之監聽軟鍵盤狀態(彈出收回)Android
- Android監聽軟鍵盤收起與彈出Android
- Android 監聽鍵盤彈出收起Android
- Android 監聽鍵盤狀態變化,並獲取鍵盤高度Android
- iOS-OC-監聽藍芽是否開啟(開啟狀態)iOS藍芽
- 安卓開發 點選空白處收起鍵盤安卓
- android開啟軟鍵盤部分內容上移Android
- Android開發,在Fragment中,隱藏或關閉軟鍵盤(虛擬鍵盤)的方法AndroidFragment
- win7軟鍵盤怎麼開啟?WIN7電腦中開啟“軟鍵盤”使用的兩種方法Win7
- 關於Android中軟鍵盤顯示隱藏的監聽判斷總結Android
- 監聽鍵盤事件事件
- Java中的鍵盤監聽事件KeyListenerJava事件
- 鍵盤監聽事件--向左事件
- javascript監聽鍵盤事件JavaScript事件
- Android 監聽鍵盤彈起及隱藏Android
- android 關閉/開啟軟體鍵盤(hideSoftKeyboard)AndroidIDE
- 靈光乍現 解決移動端保持鍵盤開啟狀態
- 電腦軟鍵盤怎麼開啟 快速調出軟鍵盤的方法教程
- java鍵盤監聽之視窗監聽的實現Java
- python pynput監聽鍵盤Python
- 資料庫開啟監聽資料庫
- oracle監聽開啟trace fileOracle
- 開啟E盤快捷鍵,或者在我的電腦裡快速找到檔案的快捷鍵
- vue的監聽鍵盤事件的快捷方法Vue事件
- 監聽Android軟體盤彈出及隱藏Android
- java全域性滑鼠鍵盤監聽Java
- android設定軟鍵盤搜尋鍵以及監聽搜尋鍵點選時發生兩次事件的問題解決Android事件
- Android開發筆記——透明狀態列與透明虛擬按鍵Android筆記
- 【JS】在連續性監聽事件中,監聽當前狀態是否變化JS事件
- Web3開發中的狀態同步Web
- Android Home鍵監聽Android
- iOS AFN監聽網路狀態iOS
- oracle監聽器啟動lsnrctl status例程的狀態為unknownOracle
- 至少8個品牌的無線鍵盤可在76米開外被黑客監聽黑客
- RAC中lsnrctl和srvctl的區別(監聽狀態異常)
- Android 狀態列關於開發的幾件事Android
- Android開發之道(7)響應鍵盤事件Android事件
- AndroidTV開發中所有的遙控器按鍵監聽及注意事項,新增home鍵監聽Android