直播網站原始碼,點選EditText以外的區域,鍵盤隱藏消失
直播網站原始碼,點選EditText以外的區域,鍵盤隱藏消失
第一種:
InputMethodManager imm= (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); @Override public boolean onTouchEvent(MotionEvent event) { // TODO Auto-generated method stub if (event.getAction() == MotionEvent.ACTION_DOWN) { if (myActivity.this.getCurrentFocus() != null) { if (myActivity.this.getCurrentFocus().getWindowToken() != null) { imm.hideSoftInputFromWindow(myActivity.this.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); } } } return super.onTouchEvent(event); }
這種方法可以實現點選EditText以外的區域鍵盤消失,但這種方法實現很受限制,如果介面上有很多控制元件,點選除這個EditText以外的控制元件,鍵盤就不會隱藏;
第二種,這種方法是判斷當前的點選位置,判斷是否再當前的Edittext上,不是的話就讓鍵盤消失。
@Override public boolean dispatchTouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.ACTION_DOWN) { View v = getCurrentFocus(); if (isShouldHideKeyboard(v, ev)) { hideKeyboard(v.getWindowToken()); } } return super.dispatchTouchEvent(ev); } /** * 根據EditText所在座標和使用者點選的座標相對比,來判斷是否隱藏鍵盤,因為當使用者點選EditText時則不能隱藏 * * @param v * @param event * @return */ private boolean isShouldHideKeyboard(View v, MotionEvent event) { if (v != null && (v instanceof EditText)) { int[] l = {0, 0}; v.getLocationInWindow(l); int left = l[0], top = l[1], bottom = top + v.getHeight(), right = left + v.getWidth(); if (event.getX() > left && event.getX() < right && event.getY() > top && event.getY() < bottom) { // 點選EditText的事件,忽略它。 return false; } else { return true; } } // 如果焦點不是EditText則忽略,這個發生在檢視剛繪製完,第一個焦點不在EditText上,和使用者用軌跡球選擇其他的焦點 return false; } /** * 獲取InputMethodManager,隱藏軟鍵盤 * @param token */ private void hideKeyboard(IBinder token) { if (token != null) { InputMethodManager im = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); im.hideSoftInputFromWindow(token, InputMethodManager.HIDE_NOT_ALWAYS); } }
以上就是 直播網站原始碼,點選EditText以外的區域,鍵盤隱藏消失,更多內容歡迎關注之後的文章
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2989873/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Flutter實現點選空白區域隱藏軟鍵盤Flutter
- 點選空白出隱藏鍵盤,或者點選按鈕隱藏軟鍵盤
- app直播原始碼,Android EditText的游標的顯示和隱藏APP原始碼Android
- vue點選空白區域,下拉選單隱藏Vue
- 聊聊Flutter中的點選空白處隱藏鍵盤Flutter
- EditText的點選事件遮蔽鍵盤響應事件
- 直播網站原始碼,EasyUI按鈕控制標籤顯示與隱藏網站原始碼UI
- 直播app系統原始碼,輸入完內容後自動隱藏軟鍵盤APP原始碼
- EditText設定密碼隱藏和顯示密碼
- 直播原始碼網站,點選分類調起選單欄並彈出原始碼網站
- 如何隱藏和解網頁原始碼網頁原始碼
- 直播網站原始碼,Android中點選圖片放大的簡單方法網站原始碼Android
- Android 隱藏手機鍵盤Android
- Android隱藏EditText長按選單中分享功能探索Android
- 解決webapp 鍵盤不隱藏WebAPP
- 直播平臺原始碼,input密碼框顯示與隱藏原始碼密碼
- 直播原始碼網站,點選圖片可進行任意方向旋轉功能原始碼網站
- 直播原始碼網站,點選分享按鈕,分享到各個渠道功能的實現原始碼網站
- 直播商城原始碼,隱藏iframe捲軸,並禁止滑動原始碼
- 直播app系統原始碼,Fragment 顯示 隱藏 監聽APP原始碼Fragment
- 手勢隱藏軟鍵盤&設定UISearchBarUI
- 點選實現隱藏元素本身程式碼例項
- 直播平臺原始碼,Android實現密碼顯示與隱藏原始碼Android密碼
- 短視訊直播原始碼,EditText輸入框的使用原始碼
- 影片直播系統原始碼,EditText輸入框的使用原始碼
- 點選空白處隱藏相應的元素
- Android輸入鍵盤隱藏解決方案Android
- Android 監聽鍵盤彈起及隱藏Android
- ‘模組化‘ ’資訊隱藏和區域性化’
- 成品直播原始碼推薦,uni底部導航欄隱藏單個原始碼
- 【工具類】Android 最有效的隱藏軟鍵盤方法Android
- 影片直播app原始碼,EditText保留小數位數APP原始碼
- 點選EditText的時候出現被鍵盤遮擋 在不使用scrollView的情況View
- 直播商城原始碼,密碼輸入框自定義顯示隱藏圖示原始碼密碼
- 直播網站原始碼,js動態追加 初始化下拉選項網站原始碼JS
- 直播app系統原始碼,底部彈框顯示,底部導航隱藏APP原始碼
- 直播網站原始碼,接收方收到的資訊等於緩衝區長度網站原始碼
- 直播網站原始碼,centos7修改密碼網站原始碼CentOS密碼