软键盘管理

  安卓开发一般都需要进行软键盘管理,常用操作老司机已为你封装完毕,你可以用这份工具进行管理,具体可以查看源码,现在为你开车,Demo传送门

站点

软键盘管理 → AppKeyBoardMgr

openKeybord      : 打卡软键盘
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); } 

}

终点站

  好了,终点站到了,如果对本次旅途满意的话,请给五星好评哦,没关注的小伙伴轻轻点个上方的关注,毕竟老司机牺牲了很多时间才换来这么一份工具类,如果该工具类依赖其他工具类,都可以在我的史上最全的常用开发工具类收集(持续更新中)中找到。

转载于:https://www.cnblogs.com/AbrahamCaiJin/p/7444104.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值