全面屏手机 getDisplayMetrics() 获取高度不对的问题

除了坚果 pro2手机,小米手机也发现全面屏隐藏虚拟按键后,返回的屏幕高度不对。

最终针对不同场合,进行了不同的技术规避。

一种情况,用

        Rect rect = new Rect();
        viewPager.getWindowVisibleDisplayFrame(rect);

替换

        getDisplayMetrics().heightPixels;

另一种情况,则是用

        View root = view.getRootView();
        int[] location = new int[2];
        root.getLocationOnScreen(location);

替换

        getDisplayMetrics().heightPixels;

这两种方法都要求 View 已经 attachToWindow,所以不能作为通用解决方案。

你可能感兴趣的:(全面屏手机 getDisplayMetrics() 获取高度不对的问题)