我有一个主要活动,启动另一个活动,让我们称之为A2。当A2完成加载时,它会触发更新主要活动视图的事件。这很有效。
问题在于,当我在A2中按回或完成()并且它开始转换动画回到主要活动时,主要活动的视图似乎没有在重新绘制之前重新绘制。动画开始,因此它滑回它仍然有旧的布局。转换完成后,它会更新到应该的状态。
有没有办法强制主活动使其视图无效或以其他方式强制它在转换之前重绘其视图,以便动画看起来漂亮和流畅?我尝试了invalidate()
,但直到转换后才会重绘。
(为了避免XY问题:作为从主要活动到A2的复杂动画的一部分,我在主要活动上创建并淡入黑色叠加视图。当A2 onResume()' s时,发送一个导航完成事件,导致主要活动删除叠加层。从A2返回时,仍然会渲染该叠加层,因此看起来它已转换为黑色屏幕,直到转换完成并且视图重新渲染。)