Android 如何判断底部虚拟导航按钮是否打开

Android 10 11更新后 以前的判断方法失效了
这里使用一个笨方法
通过获取屏幕上底部View的坐标去判断
如果底部View 的Y坐标的高度 小于屏幕的实际高度 ,则说明底部有虚拟按钮

        mRadioGroup.post(() -> {
            int[] outLocation = new int[2];
            mRadioGroup.getLocationOnScreen(outLocation);
            //获取底部的坐标
            int viewY =  outLocation[1] + mRadioGroup.getHeight()
    
            //获取屏幕的实际尺寸
            WindowManager wm = (WindowManager) context
                .getSystemService(Context.WINDOW_SERVICE);
            DisplayMetrics outMetrics = new DisplayMetrics();
             wm.getDefaultDisplay().getReaMetrics(outMetrics);
                if(viewY<outMetrics.heightPixels){
                  //小于屏幕实际高度 说明底部显示了虚拟按钮
                  }else{
                    //大于等于屏幕高度 说明底部没有显示虚拟按键
                  }
        });
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容