Android 安卓记录开发遇到的一个坑,直接对View setX()部分机型不适配问题

Posted 第三女神程忆难

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 安卓记录开发遇到的一个坑,直接对View setX()部分机型不适配问题相关的知识,希望对你有一定的参考价值。

像华为可左右扩展手机-HUAWEI Mate30Pro 举例
关闭左右扩展后,屏幕左右会留出24px的宽度

此时setX实际上华为会自动增加24px值,setX导致向右偏移了24px

【解决方法】
获取根ViewGroup距离屏幕左侧距离,像这样,但不能再OnCreate后立即获取,需要延迟获取

int[] location = new int[2];
roomRoot.getLocationOnScreen(location);

在setX时,最终再减去 location[0] 值即可


有些折叠手机、平板亦是如此

以上是关于Android 安卓记录开发遇到的一个坑,直接对View setX()部分机型不适配问题的主要内容,如果未能解决你的问题,请参考以下文章

android踩坑记录之view.setVisiblity()

安卓转战React-Native之windows下android环境搭建爬坑血泪史

安卓转战React-Native之windows下android环境搭建爬坑血泪史

实战用Python+Pygame+Kivy(Buildozer)+Ubuntu开发安卓android手机端apk游戏及踩坑分享

安卓转战React-Native之windows下android环境搭建爬坑血泪史

安卓转战React-Native之windows下android环境搭建爬坑血泪史