gpt4 book ai didi

java - Android - 调用 Activity 完成()的共享元素转换

转载 作者:IT老高 更新时间:2023-10-28 21:11:32 27 4
gpt4 key购买 nike

我正在努力使应用程序更具 Material 性,但我只是坚持如何实现一些共享元素转换。我有一个 Activity A 启动另一个 B 然后调用 finish() 以便将其从后堆栈中删除。就我而言,我想在两个 Activity 之间共享一个元素,但是一旦它从 A 传递到 B,A 就不再重要了。如果我在 startActivity(ctx,intent, bundle) 之后不调用 finish() ,则退出/进入动画效果很好。但是,如果我调用完成,动画开始前会有一个非常难看的闪烁。

我是否忽略了某些事情,或者我无法做我想做的事情?

最佳答案

您可以在 onStop 函数中完成您的 Activity ,如果您只想在从 A 转换到 B 时发生这种情况,然后创建一个标志并在您调用 startActivity(ctx,intent, bundle) 后设置它:

@Override
public void onStop() {
super.onStop();
if(mShouldFinish)
finish();
}

确保在完成 Activity B 时调用 finish() 而不是 finishAfterTranstion(),因为 Activity A 不再存在

在完成activity A 后,如果你按下返回,B 中的共享元素可能会卡在屏幕上。在 ActivityB.onEnterAnimationComplete 中将 transitionName 设置为 null 以避免这种情况。

关于java - Android - 调用 Activity 完成()的共享元素转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29547439/

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