Android 纠正因系统默认显示方向旋转引起触摸屏与屏幕显示不一致
在实际产品中设计时会移除重力传感器。当设备缺少重力传感器时,系统无法使用该传感器提供的方向数据来确定屏幕旋转的方向。Android 系统中由于移除重力传感器导致的默认显示方向旋转引起触摸屏与屏幕显示不一致问题,主要是由于缺乏方向检测和触摸坐标的正确转换。通过使用替代传感器(如陀螺仪)、手动配置方向、调整触摸事件坐标和 UI 布局,可以解决这个问题。开发者需要确保在设备没有重力传感器的情况下,能够通过其他方法推测方向,并确保触摸事件和 UI 动作能够正确响应设备的旋转。
作者:炭烤毛蛋 ,点击博主了解更多。
文章目录
1. Android12 触摸随系统方向改变
某些量产产品为了节约成本会取消重力感应传感器,也就是无法确认系统所处方向。在Android 12系统中,如果没有重力感应,系统通过修改ro.surface_flinger.primary_display_orientation来改变屏幕的显示方向。屏幕旋转后,触摸屏的响应方向不会随之改变,仍然保持为旋转前的方向。此时触摸就会出现翻转、镜像情况,为了修复这个问题在触摸服务中进行