Android获取屏幕实际高度跟显示高度,判断Android设备是否拥有虚拟功能键

//获取屏幕尺寸,不包括虚拟功能高度

getWindowManager().getDefaultDisplay().getHeight();

获取屏幕原始尺寸高度,包括虚拟功能键高度,

private int getDpi()
    {   int dpi = 0;
            Display display = getWindowManager().getDefaultDisplay();
        DisplayMetrics dm = new DisplayMetrics(); 
        @SuppressWarnings("rawtypes")
                Class c;
        try {
            c = Class.forName("android.view.Display");
            @SuppressWarnings("unchecked")
                        Method method = c.getMethod("getRealMetrics",DisplayMetrics.class);
            method.invoke(display, dm);
            dpi=dm.heightPixels;
        }catch(Exception e){
            e.printStackTrace();
        }  
        return dpi;
    }

  通过两个高度的对比,可以知道设备是否拥有虚拟功能建,Android4.0以后出现的虚拟功能键,对界面布局的兼容性有较大影响,记录之。

  

原文地址:https://www.cnblogs.com/huxdiy/p/3977232.html