全面屏手机 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,所以不能作为通用解决方案。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,202评论 25 709
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 14,514评论 2 59
  • 平安夜,祝你平安! 平安夜,祝我不再心酸! 平安夜啊!你让世人身躯平安,可知她的心已散。 上帝啊!请让我失去记忆吧...
    漓路阅读 1,648评论 0 0

友情链接更多精彩内容