Android 監(jiān)聽軟鍵盤狀態(tài)的實例詳解
Android 監(jiān)聽軟鍵盤狀態(tài)的實例詳解
近日遇到要檢測軟鍵盤是否顯示或隱藏的問題,搜了一下網(wǎng)上,最后找到一個很簡單的,記錄一下。
activityRoot是activity的根view,就是xml里面的第一個view,給它設置一個id.
final View activityRootView = findViewById(R.id.activityRoot); activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() { @Override public void onGlobalLayout() { int heightDiff = activityRootView.getRootView().getHeight() - activityRootView.getHeight(); if (heightDiff > 100) { // 如果高度差超過100像素,就很有可能是有軟鍵盤... ... do something here } } });
但是這個依賴于Android:windowSoftInputMode="adjustResize",
如果是adjustPan,Activity高度不變就沒用了。然后終于給我找到一個界面高度不變也能用的辦法,這個辦法不能監(jiān)聽只能主動去查詢,不過正好我也只需要這樣就行了
InputMethodManager imm = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE); if(imm.hideSoftInputFromWindow(editText.getWindowToken(), 0)) { imm.showSoftInput(editText,0); //軟鍵盤已彈出 } else { //軟鍵盤未彈出 }
如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
Android實現(xiàn)屏幕旋轉四個方向準確監(jiān)聽
這篇文章主要為大家詳細介紹了Android實現(xiàn)屏幕旋轉四個方向準確監(jiān)聽,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-07-07native.js獲取手機硬件基本信息實例代碼android版
本文為大家分享了native.js獲取手機硬件基本信息實例代碼android版包括手機MAC地址,手機內存大小,手機存儲空間大小,手機CPU信息等手機硬件基本信息2018-09-09Android編程實現(xiàn)WebView添加進度條的方法
這篇文章主要介紹了Android編程實現(xiàn)WebView添加進度條的方法,涉及Android WebView界面及控件功能相關操作技巧,需要的朋友可以參考下2017-02-02Android 啟動 Service(startservice和bindservice) 兩種方式的區(qū)別
andrid service 兩種啟動方式:第一種startservice,第二種bindservice,大家對這兩種啟動方式的區(qū)別了解嗎,下面跟著小編一起學習吧2015-11-11