點選螢幕其他地方讓edittext失去焦點並隱藏輸入法的實現方法
讓EditText所在的layout或者其他layout獲得焦點。給layout註冊OnTouchListener監聽器。
1、先執行下面這兩個方法:
.setFocusable(true);
.setFocusableInTouchMode(true);
2、再執行.requestFocus() 獲取焦點。
說明:僅僅使用 .requestFocus() 無法獲取焦點,焦點依然在EditTtext上。
3、隱藏輸入法。(set_search_friend為EditTtext。)
InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(getActivity().INPUT_METHOD_SERVICE);
// imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
imm.hideSoftInputFromWindow(set_search_friend.getWindowToken(), 0);
//rwb:取消EditText焦點,並且隱藏輸入法。 final View ll_search_friend = curView.findViewById(R.id.ll_search_friend); ll_search_friend.setOnTouchListener(new OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub ll_search_friend.setFocusable(true); ll_search_friend.setFocusableInTouchMode(true); ll_search_friend.requestFocus(); InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(getActivity().INPUT_METHOD_SERVICE); // imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); imm.hideSoftInputFromWindow(set_search_friend.getWindowToken(), 0); return false; } });
PullToRefreshListView直接呼叫listView.setOnTouchListener無效的,必須listView.getRefreshableView().setOnTouchListener這樣呼叫。
//rwb:取消EditText焦點,並且隱藏輸入法。 listView.getRefreshableView().setOnTouchListener(new OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub logger.d("SearchFriendFragment#listView.onTouch"); ll_search_friend.setFocusable(true); ll_search_friend.setFocusableInTouchMode(true); ll_search_friend.requestFocus(); InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(getActivity().INPUT_METHOD_SERVICE); // imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); imm.hideSoftInputFromWindow(set_search_friend.getWindowToken(), 0); return false; } });
===================================================
【關閉輸入法的參考方法】
直接關閉輸入法:
1 2 3 4 5 6 7 8 |
private
void closeInputMethod() {
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
boolean
isOpen = imm.isActive();
if
(isOpen) {
// imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);//沒有顯示則顯示
imm.hideSoftInputFromWindow(mobile_topup_num.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
}
}
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
1 、方法一(如果輸入法在視窗上已經顯示,則隱藏,反之則顯示)
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput( 0 , InputMethodManager.HIDE_NOT_ALWAYS);
2 、方法二(view為接受軟鍵盤輸入的檢視,SHOW_FORCED表示強制顯示)
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(view,InputMethodManager.SHOW_FORCED);
imm.hideSoftInputFromWindow(view.getWindowToken(),
0 ); //強制隱藏鍵盤
3 、呼叫隱藏系統預設的輸入法
((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(WidgetSearchActivity. this .getCurrentFocus().getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS); (WidgetSearchActivity是當前的Activity)
4 、獲取輸入法開啟的狀態
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
boolean
isOpen=imm.isActive(); //isOpen若返回true,則表示輸入法開啟
|
相關推薦
點選螢幕其他地方讓edittext失去焦點並隱藏輸入法的實現方法
讓EditText所在的layout或者其他layout獲得焦點。給layout註冊OnTouchListener監聽器。 1、先執行下面這兩個方法: .setFocusable(true); .setFocusableInTouchMode(true); 2、再執行.re
android實現點選螢幕其他地方popupwindow消失
// 解決popupWindow顯示後不消失問題 menuPopupWindow.setBackgroundDrawable(new BitmapDrawable()); menuPopupWindow
//點選螢幕任何地方讓鍵盤消失
//點選螢幕任何地方讓鍵盤消失 - (void)setUpForDismissKeyboard { NSNotificationCenter *nc = [NSNotificationCenterdefaultCenter]; UITapGestureRecogni
開啟關閉軟鍵盤,點選螢幕其他地方關閉軟鍵盤
開啟關閉軟鍵盤,點選螢幕其他地方關閉軟鍵 關閉然鍵盤: public void closeKeyboard() { View rootView = getWindow().getDecorView(); closeKeyboard(rootVi
js使點選網頁其他地方使顯示框消失
有時候我們需要實現這樣一個效果: 點選圖示或者按鈕會出現一個下拉框或者顯示框,點選圖示或者按鈕顯示框消失,或者需要點選網頁其他任意地方顯示框消失。 點選固定圖示或按鈕顯示框顯示或消失這個jQuery或者js就能很容易實現,這裡說下點選網頁其他任意地方顯示框消失。 jQ
點選按鈕不觸發輸入框失去焦點事件
例項圖描述:模具號、機臺號輸入方式有兩種:手動輸入(失焦校驗)和掃描錄入(錄入後校驗) <li class="aui-list-item"> <div class="aui-list-item-inner"> <div clas
Android 讓EditText失去焦點避免自動彈出輸入法
如果一進去activity,EditText就獲取焦點,彈出輸入法介面,無疑是很影響美觀的。關於讓EditText失去焦點,網上比較多的做法是新增一個visibility=gone的Textview.然後讓這個textView獲取焦點。不知道是我人品不好還是怎麼的。我這樣做
JavaScript | 阻止預設事件 點選按鈕後input框不失去焦點
想實現一個登入介面常用的效果:點選按鈕後切換input框的顯示/隱藏密碼 首先想到的是,在按鈕的點選事件裡呼叫focus()使input獲得焦點,程式碼如下: <body> <i
Android點選EditText之外的地方隱藏軟鍵盤同時使EditText失去焦點
1.只是隱藏軟鍵盤: @Override public boolean dispatchTouchEvent(MotionEvent ev) { if (ev.getAction() == MotionEvent.ACTION_
平移動畫,點選某個控制元件讓一個view收縮到右邊螢幕,再點選展開。
最近做了一個需求。就是點選一個箭頭 ,讓一個view收縮到右邊螢幕,再點選這個View展開,其實看是收縮,其實是平移,讓這個View平移View.getWidth的寬度,同時把這個View的座標也平移過去(不平移座標,點選監聽會還在原來的位置),再讓這個View平移 —View.getW
js或jquery實現點選某個按鈕或元素顯示div,點選頁面其他任何地方隱藏div
點選某個元素顯示div,點選頁面其他任何地方隱藏div,可用javascript和jquery兩種方法實現: 一:javascript實現方法技巧 <script> //定義stopPropagation 方法的使用,該方法將停止事件的傳播,阻止它被分派到其他 Document 節點。
js/jq 點選按鈕顯示div,點選頁面其他任何地方隱藏div
整個複製可看效果 1. JS效果 <!DOCTYPE html> <html> <head> <meta http-equiv="Content
點擊頁面其他地方隱藏彈窗
程序 一次 show auto head 頁面 scrip htm fun <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> &
實現點擊頁面其他地方,隱藏div(vue)
監聽事件 listen function 頁面 比較 als 元素 點擊事件 click 方法一: 通過監聽事件 document.addEventListener(‘click‘,function(e){ if(e.target.
點選螢幕對顯示物件進行操作:調整位置/旋轉縮放模式/拖動
1.載入資源 2.將資源新增到顯示列表並設定錨點 ////////////////////////////////*調整位置關鍵程式碼*/ this.stage.addEventListener(egret.TouchEvent.TOUCH_BEGIN, (e: egret.TouchEvent) =&
android點選螢幕隱藏小鍵盤
原文: android點選螢幕隱藏小鍵盤 fragment 下隱藏點選空白處隱藏小鍵盤 view.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, Moti
monkeyrunner入門之滑動點選螢幕(三)
細節都寫在裡面了哦,仔細看。。 device.touch裡面的數字是手機螢幕的座標,手機螢幕的座標這樣得知: 開啟設定–系統—開發者選項–指標座標 #device.drag(X,Y,D,S) #X 開始座標 #Y 結束座標 #D 拖動持續時間(以秒為單位),預設1.0秒 #S 插值點時要
Swift 3 點選螢幕任意位置隱藏鍵盤
func hideKeyboardWhenTappedAround() { let tap: UITapGestureRecognizer = UITapGestureRecognize
Unity 點選螢幕與UGUI的區分
UGUI - 判斷是否點選在UI 上 Bug,IsPointerOverGameObject()在移動端檢測失敗 UGUI 提供了一個檢測是否點選在UI上的方法 EventSystem.current.
Android 4.0設定Dialog點選螢幕不消失
業務的需求是變化莫測的,最近就遇到一個需求是——使用者只有點選Dialog的取消按鈕才會消失,點選螢幕的時候不消失。Android ICS對UI做了很大的變動,系統提倡使用DialogFragment,但是系統預設的操作習慣是點選螢幕Dialog會自動消失。 為了實現業務的