【问题标题】:Transition shared element breaks when for Activity called onStop()Activity 调用 onStop() 时转换共享元素中断
【发布时间】:2019-08-28 14:27:18
【问题描述】:

我使用共享元素转换从 ActivityA ActivityB 打开。它工作正常。当我按下“返回”按钮时,共享元素同样可以正常工作,并且我看到关闭动画。

但是,如果我按下“主页”按钮,然后返回应用程序 (ActivityB),然后单击“返回”转到 ActivityA,则转换不起作用。

三个活动的情况相同。

ActivityA -(work)-> ActivityB -(work)-> ActivityC

然后我开始按“返回”按钮

ActivityC -(work)-> ActivityB -(DONT WORK)-> ActivityA

工作 - 这意味着共享元素转换工作,我看到了动画

对于开始活动我使用

ActivityOptionsCompat options = ActivityOptionsCompat
                        .makeSceneTransitionAnimation(getActivity(), itemView, transitionName);
startActivity(intent, options.toBundle());

尝试更改清单(不工作)

android:name=".ActivityB"
android:launchMode="singleTask"
android:parentActivityName=".ActivityA"

尝试保存共享元素(不要工作)

setEnterSharedElementCallback(new SharedElementCallback() {
            @Override
            public void onMapSharedElements(List<String> names, Map<String, View> sharedElements) {
                if (names.size() > 0)
                    mSharedElementsNames.addAll(names);
                else
                    names.addAll(mSharedElementsNames);

                if (sharedElements.size() > 0)
                    mSharedElementsMap.putAll(sharedElements);
                else
                    sharedElements.putAll(mSharedElementsMap);
            }
        });

我注意到在最小化应用程序后,按“返回”时不会调用 onMapSharedElements()。否则调用正在发生。

我猜 onStop() 调用会破坏共享元素转换。但我无法避免这一点。任何帮助或想法,请

【问题讨论】:

  • 我不敢相信没有其他关于此的帖子。以前没有人注意到这一点吗?
  • 我也遇到过这个错误。你找到解决办法了吗?

标签: android animation android-activity android-lifecycle shared-element-transition


【解决方案1】:

我通过关注this 回答解决了这个问题。

简单地说,只需将下面的sn-p代码添加到ActivityB的onStop

override fun onStop() {
    if (Build.VERSION.SDK_INT == Build.VERSION_CODES.Q && !isFinishing) {
        Instrumentation().callActivityOnSaveInstanceState(this, Bundle())
    }
    super.onStop()
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-05
    • 1970-01-01
    • 1970-01-01
    • 2017-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多