Android获取虚拟软键盘高度

金鞍玉勒寻芳客,未信我庐别有春。这篇文章主要讲述Android获取虚拟软键盘高度相关的知识,希望能为你提供帮助。

1 public static int getDpi(Context context) { 2int dpi = 0; 3WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); 4Display display = windowManager.getDefaultDisplay(); 5DisplayMetrics displayMetrics = new DisplayMetrics(); 6@SuppressWarnings("rawtypes") 7Class c; 8try { 9c = Class.forName("android.view.Display"); 10@SuppressWarnings("unchecked") 11Method method = c.getMethod("getRealMetrics", DisplayMetrics.class); 12method.invoke(display, displayMetrics); 13dpi = displayMetrics.heightPixels; 14} catch (Exception e) { 15e.printStackTrace(); 16} 17return dpi; 18}

1 public static int getScreenHeight(Context context) { 2WindowManager wm = (WindowManager) context 3.getSystemService(Context.WINDOW_SERVICE); 4DisplayMetrics outMetrics = new DisplayMetrics(); 5wm.getDefaultDisplay().getMetrics(outMetrics); 6return outMetrics.heightPixels; 7}

1 /** 2* 获取 虚拟按键的高度 3* 4* @param context 5* @return 6*/ 7public static int getBottomStatusHeight(Context context) { 8int totalHeight = getDpi(context); 9 10int contentHeight = getScreenHeight(context); 11 12return totalHeight - contentHeight; 13}

【Android获取虚拟软键盘高度】 

    推荐阅读