软键盘管理 → AppKeyBoardMgr

这是一个用于管理Android设备上软键盘的工具类,提供了打开、关闭、切换键盘状态等功能,并支持检查键盘是否处于活动状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
  package com.jingewenku.abrahamcaijin.commonutil;
  import android.content.Context;
  import android.view.View;
  import android.view.inputmethod.InputMethodManager;
  import android.widget.EditText;
   
  import java.util.Timer;
  import 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(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;
  }
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值