外观
三指跨屏时 一个窗口飞出另一个窗口飞入 怎样控制时机?
标准回答
一种系统侧实现是由统一控制器识别三指手势并确定源任务、源屏和目标屏,把任务迁移纳入同一转场。控制器先准备源画面的动画 leash,必要时用允许捕获的快照维持连续视觉,同时准备目标显示配置和任务内容。随后按照同一动画进度更新两端位置、裁剪和透明度,在适当的内容就绪点交接真实窗口,并在完成或取消时恢复最终层级与焦点。关键是使用目标窗口就绪和系统同步机制,不能靠固定延时猜测目标已经画好。
延伸追问
SurfaceControl 事务可以一起提交相关状态,但两块物理屏的刷新周期和硬件呈现未必完全同步,仍需测量实际显示差异。此回答是实现方案,不自动代表个人项目已使用全部机制。
内容来源
- Android Framework 知识手册 · 原条目
3-7