摘要:安卓开发一般都需要进行软键盘管理,常用操作老司机已为你封装完毕,你可以用这份工具进行管理,具体可以查看源码,现在为你开车,传送门。
安卓开发一般都需要进行软键盘管理,常用操作老司机已为你封装完毕,你可以用这份工具进行管理,具体可以查看源码,现在为你开车,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); }
}
终点站好了,终点站到了,如果对本次旅途满意的话,请给五星好评哦,没关注的小伙伴轻轻点个上方的关注,毕竟老司机牺牲了很多时间才换来这么一份工具类,如果该工具类依赖其他工具类,都可以在我的史上最全的常用开发工具类收集(持续更新中)中找到。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/70256.html
摘要:然而,并没有直接监听软键盘的原生事件,只能通过软键盘弹起或收起,引发页面其他方面的表现间接监听,曲线救国。软键盘收起表现触发输入框以外的区域时,输入框失去焦点,软键盘收起。可以让软键盘弹起后,让焦点元素再次滚到可视区,强迫滚到位。 前言 最近一段时间在做 H5 聊天项目,踩过其中一大坑:输入框获取焦点,软键盘弹起,要求输入框吸附(或顶)在输入法框上。需求很明确,看似很简单,其实不然。从...
摘要:文本输入框容易下沉因为软键盘弹出时是一个动画方法利用滚动条,弹出软键盘的时候让滚动条滚动到最底部。效果点击按钮弹出输入框获取焦点并弹出软键盘类似微信朋友圈空间。 ## 文本输入框容易下沉因为软键盘弹出时是一个动画 ## //方法:利用滚动条,弹出软键盘的时候让滚动条滚动到最底部。并设置一个定时器每过0.5秒设置一次, //这个是因为软键盘还没有完全弹出滚动条已经到此时的底部了,等软键盘...
摘要:文本输入框容易下沉因为软键盘弹出时是一个动画方法利用滚动条,弹出软键盘的时候让滚动条滚动到最底部。效果点击按钮弹出输入框获取焦点并弹出软键盘类似微信朋友圈空间。 ## 文本输入框容易下沉因为软键盘弹出时是一个动画 ## //方法:利用滚动条,弹出软键盘的时候让滚动条滚动到最底部。并设置一个定时器每过0.5秒设置一次, //这个是因为软键盘还没有完全弹出滚动条已经到此时的底部了,等软键盘...
阅读 2036·2021-10-12 10:12
阅读 752·2021-09-24 09:47
阅读 1161·2021-08-19 11:12
阅读 3415·2019-08-29 13:06
阅读 652·2019-08-26 11:43
阅读 2467·2019-08-23 17:20
阅读 1112·2019-08-23 16:52
阅读 2548·2019-08-23 14:27