gpt4 book ai didi

android - 如何在 Activity 之间的转换完成时得到通知?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:20:37 26 4
gpt4 key购买 nike

正如标题所说...

我正在使用 Activity 之间的转换,并且我希望为这两个 Activity 设置某种类型的监听器(或事件),用于转换完成时和开始前。

这是创建转换的示例代码:

    final Intent intent = new Intent(activity, TargetActivity.class);
if (initialQuery != null)
intent.putExtra(EXTRA_INITIAL_QUERY, initialQuery);
final String transitionName = activity.getString(R.string.transition_name);
ViewCompat.setTransitionName(viewToTransitionFromAndTo, transitionName);
final ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(activity,
viewToTransitionFromAndTo, transitionName);
ActivityCompat.startActivityForResult(activity, intent, requestCode, options.toBundle());

最佳答案

您可以为您使用的任何转换添加一个监听器。例如:

getWindow().getSharedElementTransition().addListener(listener);

这将监听过渡本身何时开始和结束。但是,它不会为您提供整个 Activity 转换信息。例如,调用 Activity 不知道被调用 Activity 何时完成其转换。

假设顶部的过渡没有标记为半透明,当顶部 Activity 变得不透明时,底层的过渡将被告知停止——onStop()。这并不意味着过渡已经完成,它只是意味着顶部 Activity 的淡入已经完成。不过,我想不出您在 Activity 停止后想做的事情有多少。不过,当 Activity 是半透明的时,这将无济于事。

所以,不,如果你想让两个 Activity 都知道转换,你必须将其侵入。被调用的 Activity 总是知道转换何时完成(使用监听器)进入,而调用 Activity 总是知道退出时。

关于android - 如何在 Activity 之间的转换完成时得到通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31941854/

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