import android.content.Context;
import android.util.DisplayMetrics;
import android.view.Display;
import android.view.WindowManager;
import java.lang.reflect.Method;
/**
* Created by Avater on 2016/11/24 0024.
*/
public class VirtualkeyboardHeight {
/**
* 获取屏幕高度
*
* @return
*/
public static int getScreenDPI(Context context) {
int dpi = 0;
WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display display = windowManager.getDefaultDisplay();
DisplayMetrics displayMetrics = new DisplayMetrics();
Class c;
try {
c = Class.forName("android.view.Display");
Method method = c.getMethod("getRealMetrics", DisplayMetrics.class);
method.invoke(display, displayMetrics);
dpi = displayMetrics.heightPixels;
} catch (Exception e) {
e.printStackTrace();
}
return dpi;
}
/**
* 获取虚拟键盘的高度
*
* @return
*/
public static int getBottomStatusHeight(Context context) {
int totlaHeight = getScreenDPI(context);
int contentHeight = getScreenHeight(context);
return totlaHeight - contentHeight;
}
/**
* 获取底部虚拟键盘的高度
*
* @param context
* @return
*/
private static int getScreenHeight(Context context) {
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics out = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(out);
return out.heightPixels;
}
}
import android.util.DisplayMetrics;
import android.view.Display;
import android.view.WindowManager;
import java.lang.reflect.Method;
/**
* Created by Avater on 2016/11/24 0024.
*/
public class VirtualkeyboardHeight {
/**
* 获取屏幕高度
*
* @return
*/
public static int getScreenDPI(Context context) {
int dpi = 0;
WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Display display = windowManager.getDefaultDisplay();
DisplayMetrics displayMetrics = new DisplayMetrics();
Class c;
try {
c = Class.forName("android.view.Display");
Method method = c.getMethod("getRealMetrics", DisplayMetrics.class);
method.invoke(display, displayMetrics);
dpi = displayMetrics.heightPixels;
} catch (Exception e) {
e.printStackTrace();
}
return dpi;
}
/**
* 获取虚拟键盘的高度
*
* @return
*/
public static int getBottomStatusHeight(Context context) {
int totlaHeight = getScreenDPI(context);
int contentHeight = getScreenHeight(context);
return totlaHeight - contentHeight;
}
/**
* 获取底部虚拟键盘的高度
*
* @param context
* @return
*/
private static int getScreenHeight(Context context) {
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics out = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(out);
return out.heightPixels;
}
}