監聽Android軟體盤彈出及隱藏
專案中用到監聽軟鍵盤的顯示與隱藏,搜尋無果,官方並沒有提供軟鍵盤的顯示與隱藏的監聽。
通過曲線救國,通過監聽佈局的大小改變來實現。
整體佈局大小改變的監聽
在Activity生命週期函式onResume中新增整體佈局的改變的監聽
//螢幕的高度,單位畫素
private int screenHeight;
//整體佈局的改變數
private int keyHeight;
@Override
protected void onResume() {
super.onResume();
//獲取當前螢幕內容的高度
DisplayMetrics dm = getResources().getDisplayMetrics();
screenHeight = dm.heightPixels;
//閥值設定為螢幕高度的1/3
keyHeight = screenHeight * 2 / 3;
getWindow().getDecorView().addOnLayoutChangeListener((v, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom) -> {
Rect rect = new Rect();
getWindow().getDecorView().getWindowVisibleDisplayFrame(rect);
if (bottom != 0 && oldBottom != 0 && rect.bottom <= keyHeight) {
softInputShow();
} else if (bottom != 0 && oldBottom != 0) {
softInputHide();
}
});
}
public abstract void softInputHide();
public abstract void softInputShow();
相關文章
- Android 監聽鍵盤彈起及隱藏Android
- Android監聽軟鍵盤收起與彈出Android
- Android 監聽鍵盤彈出收起Android
- Android開發之監聽軟鍵盤狀態(彈出收回)Android
- 關於Android中軟鍵盤顯示隱藏的監聽判斷總結Android
- 點選空白出隱藏鍵盤,或者點選按鈕隱藏軟鍵盤
- Android 隱藏手機鍵盤Android
- 【工具類】Android 最有效的隱藏軟鍵盤方法Android
- 阻止android軟鍵盤自動彈出Android
- MFC彈出選單隱藏解決
- 解決自定義可拖動View在軟鍵盤彈出和隱藏時位置重置問題View
- h5監聽手機鍵盤彈起H5
- Android中EditText隱藏/自動彈出輸入法的問題Android
- 手勢隱藏軟鍵盤&設定UISearchBarUI
- 直播app系統原始碼,Fragment 顯示 隱藏 監聽APP原始碼Fragment
- Android輸入鍵盤隱藏解決方案Android
- EditText禁止軟體盤彈出,且不影響其它功能
- win10如何刪除隱藏軟體_win10刪除隱藏軟體的方法Win10
- Android開發,在Fragment中,隱藏或關閉軟鍵盤(虛擬鍵盤)的方法AndroidFragment
- 監聽鍵盤事件事件
- android開發中,監聽軟鍵盤的狀態(收起或者開啟)Android
- Flutter實現點選空白區域隱藏軟鍵盤Flutter
- flash呼叫攝像頭彈出設定框監聽
- 製作可以自動隱藏的彈出式選單 (轉)
- Android中的EditText預設時不彈出軟鍵盤的方法Android
- win10 控制皮膚怎麼隱藏軟體_win10怎麼在控制皮膚裡隱藏軟體Win10
- 鍵盤監聽事件--向左事件
- javascript監聽鍵盤事件JavaScript事件
- 自己寫遠端控制軟體之隱藏介面
- Android 監聽鍵盤狀態變化,並獲取鍵盤高度Android
- win10系統u盤隱藏檔案怎麼取消隱藏Win10
- U盤檔案被隱藏怎麼恢復 U盤檔案恢復隱藏的方法
- java鍵盤監聽之視窗監聽的實現Java
- 實現android按下Enter鍵便隱藏輸入鍵盤Android
- 隱藏的輸入框調起軟鍵盤問題--ios/安卓iOS安卓
- python pynput監聽鍵盤Python
- IP軟體如何隱藏真實IP地址技術!
- WAV音訊檔案中隱藏惡意軟體音訊