Android 監(jiān)聽(tīng)軟鍵盤狀態(tài)的實(shí)例詳解
Android 監(jiān)聽(tīng)軟鍵盤狀態(tài)的實(shí)例詳解
近日遇到要檢測(cè)軟鍵盤是否顯示或隱藏的問(wèn)題,搜了一下網(wǎng)上,最后找到一個(gè)很簡(jiǎn)單的,記錄一下。
activityRoot是activity的根view,就是xml里面的第一個(gè)view,給它設(shè)置一個(gè)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) { // 如果高度差超過(guò)100像素,就很有可能是有軟鍵盤... ... do something here } } });
但是這個(gè)依賴于Android:windowSoftInputMode="adjustResize",
如果是adjustPan,Activity高度不變就沒(méi)用了。然后終于給我找到一個(gè)界面高度不變也能用的辦法,這個(gè)辦法不能監(jiān)聽(tīng)只能主動(dòng)去查詢,不過(guò)正好我也只需要這樣就行了
InputMethodManager imm = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE); if(imm.hideSoftInputFromWindow(editText.getWindowToken(), 0)) { imm.showSoftInput(editText,0); //軟鍵盤已彈出 } else { //軟鍵盤未彈出 }
如有疑問(wèn)請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- Android中監(jiān)聽(tīng)軟鍵盤顯示狀態(tài)實(shí)現(xiàn)代碼
- Android監(jiān)聽(tīng)軟鍵盤彈出與隱藏的兩種方法
- android監(jiān)聽(tīng)軟鍵盤的彈出與隱藏的示例代碼
- Android項(xiàng)目類似淘寶 電商 搜索功能,監(jiān)聽(tīng)軟鍵盤搜索事件,延遲自動(dòng)搜索,以及時(shí)間排序的搜索歷史記錄的實(shí)現(xiàn)
- Android App實(shí)現(xiàn)監(jiān)聽(tīng)軟鍵盤按鍵的三種方式
- Android監(jiān)聽(tīng)鍵盤狀態(tài)獲取鍵盤高度的實(shí)現(xiàn)方法
相關(guān)文章
Android實(shí)現(xiàn)屏幕旋轉(zhuǎn)四個(gè)方向準(zhǔn)確監(jiān)聽(tīng)
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)屏幕旋轉(zhuǎn)四個(gè)方向準(zhǔn)確監(jiān)聽(tīng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07native.js獲取手機(jī)硬件基本信息實(shí)例代碼android版
本文為大家分享了native.js獲取手機(jī)硬件基本信息實(shí)例代碼android版包括手機(jī)MAC地址,手機(jī)內(nèi)存大小,手機(jī)存儲(chǔ)空間大小,手機(jī)CPU信息等手機(jī)硬件基本信息2018-09-09Android編程實(shí)現(xiàn)WebView添加進(jìn)度條的方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)WebView添加進(jìn)度條的方法,涉及Android WebView界面及控件功能相關(guān)操作技巧,需要的朋友可以參考下2017-02-02Android NDK中socket的用法以及注意事項(xiàng)分析
本篇文章是對(duì)Android NDK中socket的用法以及注意事項(xiàng)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06Android 啟動(dòng) Service(startservice和bindservice) 兩種方式的區(qū)別
andrid service 兩種啟動(dòng)方式:第一種startservice,第二種bindservice,大家對(duì)這兩種啟動(dòng)方式的區(qū)別了解嗎,下面跟著小編一起學(xué)習(xí)吧2015-11-11