为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕丝7291255 2019-11-22 11:10:23
首先,我的状态栏背景设置为深棕色,而导航栏背景则默认为黑色。我正在使用“材质”灯光主题。我正在使用ActivityOptions.makeSceneTransitionAnimation默认过渡来开始新的活动,并且我注意到状态栏和导航栏都短暂地淡化为白色,然后又恢复为正确的颜色。根据文档:要获得过渡的全部效果,必须在调用和被调用活动上都启用窗口内容过渡。否则,呼叫活动将开始退出过渡,但随后您将看到一个窗口过渡(例如缩放或淡入淡出)我getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);同时在调用和被调用活动上使用。同样,如果将Enter转换更改为幻灯片,状态栏和导航栏都将短暂地带有白色背景的幻灯片转换。如何在活动场景动画过渡期间防止状态栏和导航栏动画化?
查看完整描述

3 回答

?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

我也遇到了同样的问题,答案似乎缺少这个难题的关键部分。请记住,在共享元素过渡上,所有事情都在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);

这应该可以解决您的问题!


查看完整回答
反对 回复 2019-11-22
  • 3 回答
  • 0 关注
  • 566 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信