gpt4 book ai didi

android - overridePendingTransition & addView 与 LayoutTransitions

转载 作者:行者123 更新时间:2023-12-01 12:48:20 34 4
gpt4 key购买 nike

我处于一种情况,我希望在 Activity 之间的过渡期间没有可见的动画。我目前正在执行以下操作:

startActivity( intent );
getActivity().overridePendingTransition( 0, 0 );

工作正常。在第二个 Activity 中,我想为 LayoutTransitions 设置动画(无论好坏)——具体来说,调用 addView()在 Root View 上加上 android:animateLayoutChanges="true"在 XML 中。

现在, addView()在我的 onResume() 中被调用的第二个 Activity 并且不显示 LayoutTransition 动画(只是将添加的 View 弹出到位)。我猜是 overridePendingTransitions(int, int)startActivity() (以及因此覆盖)是“有效的”,直到在第二个 Activity 中发生某些指定的生命周期事件。但是我找不到这个信息。我是否应该假设直到 onResume() 结束?

稍后删除 View ,比如当用户按下后退按钮时,会触发 LayoutTransition 动画。但这与 Activity 生命周期无关。

所以我的问题是, overridePendingTransition( 0, 0 ) 在什么时候释放动画控制?

最佳答案

发布overridePendingTransition不与任何生命周期事件相关联。
overridePendingTransition动画持续时间完成后将释放控制。
也就是说,300 ms (默认持续时间)或 user specified duration (在 XML 中设置或使用 setDuration())

如果在 Activity 之间的过渡期间没有可见动画,请使用 FLAG_ACTIVITY_NO_ANIMATION

而不是 overridePendingTransition

intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivity( intent );

关于android - overridePendingTransition & addView 与 LayoutTransitions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19824079/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com