Skip to content
阅读进度

如何理解跨屏后的尺寸、坐标与配置变化? ​

返回 多屏互动项目 目录

标准回答 ​

不同屏幕可能具有不同密度、分辨率、旋转和可用区域。dp 适合表达布局意图,px 对应实际栅格;手势采样点、窗口位置、快照裁剪和目标动画路径必须说明坐标系。简单按宽度比例缩放,可能漏掉 Insets、旋转和内容留白。

推荐将转换拆成几步:源局部坐标到源显示坐标,归一化或业务锚点转换,再映射到目标有效内容区。保存矩阵及其逆变换,用于命中判断和返回手势。布局在目标配置稳定后重新计算,不复用旧屏的缓存尺寸。

Activity 是否重建由配置变化与组件声明等因素决定。声明自行处理配置变化意味着应用承担更新资源和布局的责任,不是让系统差异消失。快照、字体、触摸区域和无障碍焦点都要回归。

追问与回答 ​

点击位置偏移应如何排查 ​

同时记录原始事件坐标、窗口位置、Insets、变换矩阵与命中矩形,使用角点和中心点验证转换,避免仅凭视觉对齐。

为什么跨屏后文字尺寸异常 ​

可能复用了错误 Display 的资源或缓存了旧 density / scaledDensity;需同时检查字体缩放和目标配置。

易混淆点 ​

  • 只校正画面,不校正输入与可访问区域。

参考资料 ​

内容来源 ​

用完整回答理解机制,用真实证据解释项目。