android虚拟键盘判断和高度获取代码
来源:互联网 发布:网络协议详解 编辑:程序博客网 时间:2024/06/05 09:04
/** * 判断底部navigator是否已经显示 * @param windowManager * @return */@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)public static boolean hasSoftKeys(WindowManager windowManager){ Display d = windowManager.getDefaultDisplay(); DisplayMetrics realDisplayMetrics = new DisplayMetrics(); d.getRealMetrics(realDisplayMetrics); int realHeight = realDisplayMetrics.heightPixels; int realWidth = realDisplayMetrics.widthPixels; DisplayMetrics displayMetrics = new DisplayMetrics(); d.getMetrics(displayMetrics); int displayHeight = displayMetrics.heightPixels; int displayWidth = displayMetrics.widthPixels; return (realWidth - displayWidth) > 0 || (realHeight - displayHeight) > 0;}
/** * 两个方法,第一个判断手机有没有开启虚拟键盘 * 第二个方法获取虚拟键盘的高度 */ public static boolean checkDeviceHasNavigationBar(Context context) { boolean hasNavigationBar = false; Resources rs = context.getResources(); int id = rs.getIdentifier("config_showNavigationBar", "bool", "android"); if (id > 0) { hasNavigationBar = rs.getBoolean(id); } try { Class systemPropertiesClass = Class.forName("android.os.SystemProperties"); Method m = systemPropertiesClass.getMethod("get", String.class); String navBarOverride = (String) m.invoke(systemPropertiesClass, "qemu.hw.mainkeys"); if ("1".equals(navBarOverride)) { hasNavigationBar = false; } else if ("0".equals(navBarOverride)) { hasNavigationBar = true; } } catch (Exception e) { } return hasNavigationBar; } /** * 可以更具View的思想来计算出高度 */ public static int getNavigationBarHeight(Context context) { int navigationBarHeight = 0; Resources rs = context.getResources(); int id = rs.getIdentifier("navigation_bar_height", "dimen", "android"); if (id > 0 && checkDeviceHasNavigationBar(context)) { navigationBarHeight = rs.getDimensionPixelSize(id); } return navigationBarHeight; }
具体的结构,要根据手机的情况来判断..上面的方法,在个别手机上,仍然是不通用的.
经常,我们需要获得虚拟键盘的高度什么信息,都是应为输入,或者Web界面的情形...
如果有键盘的话,在menifest的 Activity标签下修改 SoftInputAdjust 的值为自适应,也能解决很多问题.
希望分享对你们有用.
1 0
- android虚拟键盘判断和高度获取代码
- android-获取虚拟键盘的高度(让虚拟键盘顶部和弹出框底部贴着)
- Android, 获取虚拟键盘的高度
- Android精准的获取底部虚拟键盘的高度
- 在Android中获取虚拟键盘高度的方法
- android 获取虚拟键盘
- Android获取屏幕实际高度跟显示高度,判断Android设备是否拥有虚拟功能键
- Android获取屏幕实际高度跟显示高度,判断Android设备是否拥有虚拟功能键
- Android获取屏幕实际高度跟显示高度,判断Android设备是否拥有虚拟功能键
- Android获取屏幕实际高度跟显示高度,判断Android设备是否拥有虚拟功能键
- 自定义键盘,获取到屏幕高度,虚拟按键高度
- android获取虚拟功能键高度
- Android虚拟键盘的高度计算
- android开发判断虚拟菜单是否开启及获取虚拟菜单高度
- android 获取当前显示的activity和收起虚拟键盘
- 安卓获取屏幕真实高度(除去虚拟键盘)
- 去掉字符串中的空格和回车 获取键盘高度 判断字符串是否为空 swift
- Android 获取虚拟按键的高度
- android WebView常见功能处理(视频全屏,错误页等)
- mysql
- Oracle 批处理
- python class 一点总结
- 安卓播放视频MediaPlayer
- android虚拟键盘判断和高度获取代码
- 【前端页面优化】改善你的jQuery的25个步骤 千倍级效率提升
- DES加密解密-CryptoJS与Java
- VS2005 CString总是显示{...}不显示字符串内容的处理办法
- Android之MVP与MVC、MVVM的区别
- 开发环境搭建(安装Tomcat、eclipse、maven)
- linux下搭建mysql服务器
- 2-1众数问题
- 蓝牙 跳过配对提示框 简单总结记录