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软键盘工具类相关推荐

  1. android 软键盘工具类,Android开发之弹出软键盘工具类简单示例

    本文实例讲述了Android开发之弹出软键盘工具类.分享给大家供大家参考,具体如下: package com.maobang.imsdk.util; import android.content.Co ...

  2. android 软键盘工具类,Android软键盘管理工具类

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 一个软键盘管理类,单例模式实现的. /** * 类功能描述:软键盘管理界面 * */ public class Inpu ...

  3. java 弹出软键盘_Android开发之弹出软键盘工具类简单示例

    本文实例讲述了Android开发之弹出软键盘工具类.分享给大家供大家参考,具体如下: package com.maobang.imsdk.util; import android.content.Co ...

  4. 23.Android 软键盘工具ImeUtil

    23.Android 软键盘工具ImeUtil public class ImeUtil {/*** 显示软键盘* View : EditText.TextView* wantPop : true = ...

  5. Android软键盘弹出和收起的监听

    Android软键盘弹出和收起的监听 1.直接调用 SoftKeyboardHelper softKeyboardHelper = softKeyboardHelper = new SoftKeybo ...

  6. Android开发辅助工具类 Utils

    包括了各种工具类.辅助类.管理类等    都可以 在Git  里找到代码 来研究,深入 Awesome_API: https://github.com/marktony/Awesome_API/blo ...

  7. Android开发辅助工具类 Utils 汇总

    包括了各种工具类.辅助类.管理类等 Awesome_API: https://github.com/marktony/Awesome_API/blob/master/Chinese.md 收集中国国内 ...

  8. Android软键盘的全面解析,让你不再怕控件被遮盖

    本文转载自:https://blog.csdn.net/l540675759/article/details/74528641 背景 1.Android软键盘这块从我入职到现在,是一个一直纠缠我的问题 ...

  9. Android开发常用工具类集合

    转载自:https://blog.csdn.net/xiaoyi_tdcq/article/details/52902844 Android开发常用工具类集合 android开发中为了避免重复造轮子, ...

最新文章

  1. Python常用6个技术网站汇总分享!
  2. c语言课设代写一般多少钱_厕所疏通一般多少钱
  3. 一种消息和任务队列——beanstalkd
  4. c语言随机延迟5-10秒,linux下写个C语言程序,要求有0.5微秒以下的延时,要怎样写...
  5. Linux set命令参数及与env, export的区别
  6. BZOJ 1211 树的计数(purfer序列)
  7. InvokeWebServiceActivity
  8. 200个模块,怎么用有线的方式进行组网通信
  9. java获取s3对象url_java-如何通过SDK设置S3对象的内容类型?
  10. hive使用适用场景_Hive 中 Map Join 的适用场景:非等值连接
  11. Python envoy 模块源码剖析
  12. Debugview调试视图
  13. xshell免费版下载安装及使用
  14. 7iso 快门 光圈
  15. iphone 6 设置自定义铃声(未越狱)
  16. 亚马逊退货退款常见问题解答|官方
  17. github 和git_Git和GitHub入门指南
  18. 计算机专业考研面试题大全———持续更新中
  19. 将 Word 转换为 Markdown格式 【详细教程】
  20. 电机控制系统使用标幺值的意义

热门文章

  1. initramfs详解----设备文件系统
  2. 什么是用户标签体系?
  3. 【网络篇】TCP SYN Flood Attack(洪水攻击)
  4. BinaryWriter
  5. starUML使用教程
  6. INET_ATON() 和 INET_NTOA()
  7. pytorch 状态字典:state_dict
  8. cobra是什么鬼?
  9. Mysql常见面试题(陆续更新中)...
  10. 2014ACM亚洲区域北京邀请赛总结