获取虚拟键高度

来源:互联网 发布:下载安装淘宝网 编辑:程序博客网 时间:2024/06/05 20:23

1、我今天做手机适配的时候,甲方给了我华为mate8做测试机,然后我的app跑去来之后布局底部延伸到了虚拟键的位置,后来在网上找了一个获取虚拟键的高度的代码,时有效的,在这里奉献出来,另外说说有虚拟键的适配办法:

2:获取虚拟键高度的代码:

 public int getVirtualBarHeigh() {        int vh = 0;        WindowManager windowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);        Display display = windowManager.getDefaultDisplay();        DisplayMetrics dm = new DisplayMetrics();        try {            @SuppressWarnings("rawtypes")            Class c = Class.forName("android.view.Display");            @SuppressWarnings("unchecked")            Method method = c.getMethod("getRealMetrics", DisplayMetrics.class);            method.invoke(display, dm);            vh = dm.heightPixels - windowManager.getDefaultDisplay().getHeight();        } catch (Exception e) {            e.printStackTrace();        }        return vh;    }

3、此外我把获取手机型号的代码也贴出来吧:

 String model = android.os.Build.MODEL;


4、只有极少数适配的时候要考虑到时候型号,一般我们用大众的适配方法。你就在app启动的时候去获取手机虚拟键的高度,如果为不为0那么就是有虚拟键,那么你可以根据虚拟键的高度来对app进行适配啊。

0 0