Android软键盘工具类
Android软键盘工具类
public class SoftKeyboardUtils {/*** 隐藏或显示软键盘* 如果现在是显示调用后则隐藏 反之则显示*/public static void showORhideSoftKeyboard(Activity activity) {InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);}// 显示软键盘private fun showKeyboard(editText: EditText) {//调用系统输入法editText.postDelayed({val inputManager: InputMethodManager =context.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManagerinputManager.showSoftInput(editText, 0)
// SoftKeyboardUtils.showSoftKeyboard(this)}, 60)}// 隐藏软键盘private fun hideShowKeyboard(editText: EditText) {val manager = context.getSystemService(INPUT_METHOD_SERVICE) as InputMethodManagermanager.hideSoftInputFromWindow(editText.windowToken, 0)}/*** 判断软键盘是否显示方法*/public static boolean isSoftShowing(Activity activity) {//获取当屏幕内容的高度int screenHeight = activity.getWindow().getDecorView().getHeight();//获取View可见区域的bottomRect rect = new Rect();//DecorView即为activity的顶级viewactivity.getWindow().getDecorView().getWindowVisibleDisplayFrame(rect);//考虑到虚拟导航栏的情况(虚拟导航栏情况下:screenHeight = rect.bottom + 虚拟导航栏高度)//选取screenHeight*2/3进行判断boolean isOpen = screenHeight * 2 / 3 > rect.bottom + getSoftButtonsBarHeight(activity);LegoLog.d("键盘是否显示:" + isOpen);return isOpen;}/*** 底部虚拟按键栏的高度*/@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)private static int getSoftButtonsBarHeight(Activity activity) {DisplayMetrics metrics = new DisplayMetrics();//这个方法获取可能不是真实屏幕的高度activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);int usableHeight = metrics.heightPixels;//获取当前屏幕的真实高度activity.getWindowManager().getDefaultDisplay().getRealMetrics(metrics);int realHeight = metrics.heightPixels;if (realHeight > usableHeight) {return realHeight - usableHeight;} else {return 0;}}
}
注意,在Dialog dismiss之前调用该方法。(先关闭软键盘,再关闭弹窗)
Android软键盘工具类相关推荐
- android 软键盘工具类,Android开发之弹出软键盘工具类简单示例
本文实例讲述了Android开发之弹出软键盘工具类.分享给大家供大家参考,具体如下: package com.maobang.imsdk.util; import android.content.Co ...
- android 软键盘工具类,Android软键盘管理工具类
8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 一个软键盘管理类,单例模式实现的. /** * 类功能描述:软键盘管理界面 * */ public class Inpu ...
- java 弹出软键盘_Android开发之弹出软键盘工具类简单示例
本文实例讲述了Android开发之弹出软键盘工具类.分享给大家供大家参考,具体如下: package com.maobang.imsdk.util; import android.content.Co ...
- 23.Android 软键盘工具ImeUtil
23.Android 软键盘工具ImeUtil public class ImeUtil {/*** 显示软键盘* View : EditText.TextView* wantPop : true = ...
- Android软键盘弹出和收起的监听
Android软键盘弹出和收起的监听 1.直接调用 SoftKeyboardHelper softKeyboardHelper = softKeyboardHelper = new SoftKeybo ...
- Android开发辅助工具类 Utils
包括了各种工具类.辅助类.管理类等 都可以 在Git 里找到代码 来研究,深入 Awesome_API: https://github.com/marktony/Awesome_API/blo ...
- Android开发辅助工具类 Utils 汇总
包括了各种工具类.辅助类.管理类等 Awesome_API: https://github.com/marktony/Awesome_API/blob/master/Chinese.md 收集中国国内 ...
- Android软键盘的全面解析,让你不再怕控件被遮盖
本文转载自:https://blog.csdn.net/l540675759/article/details/74528641 背景 1.Android软键盘这块从我入职到现在,是一个一直纠缠我的问题 ...
- Android开发常用工具类集合
转载自:https://blog.csdn.net/xiaoyi_tdcq/article/details/52902844 Android开发常用工具类集合 android开发中为了避免重复造轮子, ...
最新文章
- Python常用6个技术网站汇总分享!
- c语言课设代写一般多少钱_厕所疏通一般多少钱
- 一种消息和任务队列——beanstalkd
- c语言随机延迟5-10秒,linux下写个C语言程序,要求有0.5微秒以下的延时,要怎样写...
- Linux set命令参数及与env, export的区别
- BZOJ 1211 树的计数(purfer序列)
- InvokeWebServiceActivity
- 200个模块,怎么用有线的方式进行组网通信
- java获取s3对象url_java-如何通过SDK设置S3对象的内容类型?
- hive使用适用场景_Hive 中 Map Join 的适用场景:非等值连接
- Python envoy 模块源码剖析
- Debugview调试视图
- xshell免费版下载安装及使用
- 7iso 快门 光圈
- iphone 6 设置自定义铃声(未越狱)
- 亚马逊退货退款常见问题解答|官方
- github 和git_Git和GitHub入门指南
- 计算机专业考研面试题大全———持续更新中
- 将 Word 转换为 Markdown格式 【详细教程】
- 电机控制系统使用标幺值的意义