如何在活动场景动画过渡期间防止状态栏和导航栏动画化?

首先,我的状态栏背景设置为深棕色,而导航栏背景则默认为黑色。我正在使用“材质”灯光主题。


我正在使用ActivityOptions.makeSceneTransitionAnimation默认过渡来开始新的活动,并且我注意到状态栏和导航栏都短暂地淡化为白色,然后又恢复为正确的颜色。


根据文档:


要获得过渡的全部效果,必须在调用和被调用活动上都启用窗口内容过渡。否则,呼叫活动将开始退出过渡,但随后您将看到一个窗口过渡(例如缩放或淡入淡出)


我getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);同时在调用和被调用活动上使用。


同样,如果将Enter转换更改为幻灯片,状态栏和导航栏都将短暂地带有白色背景的幻灯片转换。


如何在活动场景动画过渡期间防止状态栏和导航栏动画化?


慕丝7291255
浏览 567回答 3
3回答

陪伴而非守候

我也遇到了同样的问题,答案似乎缺少这个难题的关键部分。请记住,在共享元素过渡上,所有事情都在Destination Activity中发生。为了消除闪烁效果,只需将以下内容添加到要调用的活动中:Fade fade = new Fade();fade.excludeTarget(android.R.id.statusBarBackground, true);fade.excludeTarget(android.R.id.navigationBarBackground, true);getWindow().setEnterTransition(fade);getWindow().setExitTransition(fade);这应该可以解决您的问题!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android