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

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

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

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

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

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


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

猜你喜欢

转载自blog.csdn.net/qq_40881680/article/details/129358925