摘要:安卓開發一般都需要進行軟鍵盤管理,常用操作老司機已為你封裝完畢,你可以用這份工具進行管理,具體可以查看源碼,現在為你開車,傳送門。
??安卓開發一般都需要進行軟鍵盤管理,常用操作老司機已為你封裝完畢,你可以用這份工具進行管理,具體可以查看源碼,現在為你開車,Demo傳送門。
站點 軟鍵盤管理 → AppKeyBoardMgropenKeybord : 打卡軟鍵盤 closeKeybord : 關閉軟鍵盤 TimerHideKeyboard: 通過定時器強制隱藏虛擬鍵盤 isKeybord : 輸入法是否顯示 hideInputMethod : 隱藏輸入法 showInputMethod : 顯示輸入法具體路線
public class AppKeyBoardMgr {
/** * 打開軟鍵盤 * * @param mEditText 輸入框 * @param mContext 上下文 */ public static void openKeybord(EditText mEditText, Context mContext) { InputMethodManager imm = (InputMethodManager) mContext.getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(mEditText, InputMethodManager.RESULT_SHOWN); imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY); } /** * 關閉軟鍵盤 * * @param mEditText 輸入框 * @param mContext 上下文 */ public static void closeKeybord(EditText mEditText, Context mContext) { InputMethodManager imm = (InputMethodManager) mContext.getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(mEditText.getWindowToken(), 0); } /** * 通過定時器強制隱藏虛擬鍵盤 */ public static void TimerHideKeyboard(final View v) { Timer timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { InputMethodManager imm = (InputMethodManager) v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE); if (imm.isActive()) { imm.hideSoftInputFromWindow(v.getApplicationWindowToken(),0); } } }, 10); } /** * 輸入法是否顯示 */ public static boolean KeyBoard(EditText edittext) { boolean bool = false; InputMethodManager imm = (InputMethodManager) edittext.getContext().getSystemService(Context.INPUT_METHOD_SERVICE); if (imm.isActive()) { bool = true; } return bool; } /** * 切換軟鍵盤的狀態 * 如當前為收起變為彈出,若當前為彈出變為收起 */ public static void toggleKeybord(EditText edittext) { InputMethodManager inputMethodManager = (InputMethodManager) edittext.getContext().getSystemService(Context.INPUT_METHOD_SERVICE); inputMethodManager.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); } /** * 強制隱藏輸入法鍵盤 */ public static void hideKeybord(EditText edittext) { InputMethodManager inputMethodManager = (InputMethodManager) edittext.getContext().getSystemService(Context.INPUT_METHOD_SERVICE); if (inputMethodManager.isActive()) { inputMethodManager.hideSoftInputFromWindow(edittext.getWindowToken(), 0); } } /** * 強制顯示輸入法鍵盤 */ public static void showKeybord(EditText edittext) { InputMethodManager inputMethodManager = (InputMethodManager) edittext.getContext().getSystemService(Context.INPUT_METHOD_SERVICE); inputMethodManager.showSoftInput(edittext, InputMethodManager.SHOW_FORCED); } /** * 輸入法是否顯示 */ public static boolean isKeybord(EditText edittext) { boolean bool = false; InputMethodManager inputMethodManager = (InputMethodManager) edittext.getContext().getSystemService(Context.INPUT_METHOD_SERVICE); if (inputMethodManager.isActive()) { bool = true; } return bool; } /** * 隱藏輸入法 * * @param mAct activity */ public static void hideInputMethod(Activity mAct) { try {// hide keybord anyway View v = mAct.getWindow().getCurrentFocus(); if (v != null) { InputMethodManager imm = (InputMethodManager) mAct.getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(v.getWindowToken(), 0); } } catch (Exception e) { } } /** * 顯示輸入法 * * @param mAct activity */ public static void showInputMethod(final Activity mAct) { View v = mAct.getCurrentFocus(); if (null == v) { return; } ((InputMethodManager) mAct.getSystemService(Activity.INPUT_METHOD_SERVICE)).showSoftInput(v, 0); }
}
終點站??好了,終點站到了,如果對本次旅途滿意的話,請給五星好評哦,沒關注的小伙伴輕輕點個上方的關注,畢竟老司機犧牲了很多時間才換來這么一份工具類,如果該工具類依賴其他工具類,都可以在我的史上最全的常用開發工具類收集(持續更新中)中找到。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/70256.html
摘要:然而,并沒有直接監聽軟鍵盤的原生事件,只能通過軟鍵盤彈起或收起,引發頁面其他方面的表現間接監聽,曲線救國。軟鍵盤收起表現觸發輸入框以外的區域時,輸入框失去焦點,軟鍵盤收起。可以讓軟鍵盤彈起后,讓焦點元素再次滾到可視區,強迫滾到位。 前言 最近一段時間在做 H5 聊天項目,踩過其中一大坑:輸入框獲取焦點,軟鍵盤彈起,要求輸入框吸附(或頂)在輸入法框上。需求很明確,看似很簡單,其實不然。從...
摘要:文本輸入框容易下沉因為軟鍵盤彈出時是一個動畫方法利用滾動條,彈出軟鍵盤的時候讓滾動條滾動到最底部。效果點擊按鈕彈出輸入框獲取焦點并彈出軟鍵盤類似微信朋友圈空間。 ## 文本輸入框容易下沉因為軟鍵盤彈出時是一個動畫 ## //方法:利用滾動條,彈出軟鍵盤的時候讓滾動條滾動到最底部。并設置一個定時器每過0.5秒設置一次, //這個是因為軟鍵盤還沒有完全彈出滾動條已經到此時的底部了,等軟鍵盤...
摘要:文本輸入框容易下沉因為軟鍵盤彈出時是一個動畫方法利用滾動條,彈出軟鍵盤的時候讓滾動條滾動到最底部。效果點擊按鈕彈出輸入框獲取焦點并彈出軟鍵盤類似微信朋友圈空間。 ## 文本輸入框容易下沉因為軟鍵盤彈出時是一個動畫 ## //方法:利用滾動條,彈出軟鍵盤的時候讓滾動條滾動到最底部。并設置一個定時器每過0.5秒設置一次, //這個是因為軟鍵盤還沒有完全彈出滾動條已經到此時的底部了,等軟鍵盤...
閱讀 2067·2021-10-12 10:12
閱讀 788·2021-09-24 09:47
閱讀 1188·2021-08-19 11:12
閱讀 3462·2019-08-29 13:06
閱讀 681·2019-08-26 11:43
閱讀 2563·2019-08-23 17:20
閱讀 1146·2019-08-23 16:52
閱讀 2594·2019-08-23 14:27