软键盘管理 → AppKeyBoardMgr

来源:互联网 发布:网络隐私权的特点 编辑:程序博客网 时间:2024/06/01 10:24
  packagecom.jingewenku.abrahamcaijin.commonutil; import android.content.Contextimport android.view.Viewimport android.view.inputmethod.InputMethodManagerimport android.widget.EditText;   import java.util.Timerimport java.util.TimerTask;   /** * 主要功能:软键盘管理 * * @Prject: CommonUtilLibrary * @Package: com.jingewenku.abrahamcaijin.commonutil * @author: AbrahamCaiJin * @date: 2017年05月03日 16:37 * @Copyright: 个人版权所有 * @Company: * @version: 1.0.0 */   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(finalView v) { Timer timer = new Timer(); timer.schedule(newTimerTask() { @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 = falseInputMethodManager 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 = falseInputMethodManager inputMethodManager = (InputMethodManager) edittext.getContext().getSystemService(Context.INPUT_METHOD_SERVICE); if (inputMethodManager.isActive()) { bool = true; } return bool; } }