小米8,全面屏手机判断是否显示虚拟键

聊天的底部输入框需要根据键盘高度与是否有虚拟键确定,小米8手机在全面屏的情况下,用如下方法不起作用,结果都返回大于0

        DisplayMetrics metrics = new DisplayMetrics();
        mActivity.getWindowManager().getDefaultDisplay().getMetrics(metrics);
        int usableHeight = metrics.heightPixels;
        mActivity.getWindowManager().getDefaultDisplay().getRealMetrics(metrics);
        int realHeight = metrics.heightPixels;
        if (realHeight > usableHeight) {
            return realHeight - usableHeight;
        } else {
            return 0;
        }

小米自己的定制化真是烦人,之前就有一个语音的问题,这个在miui讨论群里找到了答案,亲测有效

        if (OsUtil.isMIUI()) {//小米系统判断虚拟键是否显示方法
            if(Settings.Global.getInt(mActivity.getContentResolver(), "force_fsg_nav_bar", 0) != 0){
                //开启手势,不显示虚拟键
                return 0;
            }
        }

你可能感兴趣的:(Android,机型系统适配)