pt1*_*123 5 android android-activity android-transitions shared-element-transition
我从那里打开一个活动A,然后打开活动B,并将共享元素传递给它。它可以动画化过渡效果,但是当我返回到活动A,然后再次进入活动B时(仍使用
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
Run Code Online (Sandbox Code Playgroud)
共享元素转换未运行。
对于常规动画,您可以在onNewIntent中调用overridePendingTransition()来运行动画。/sf/answers/582896401/
我尝试在那里调用startPostponedEnterTransition(),但是什么也没发生。
这是我的代码,允许过渡
void allowWindowTransitions(){
Window w = getWindow();
w.requestFeature(Window.FEATURE_ACTIVITY_TRANSITIONS);
Run Code Online (Sandbox Code Playgroud)
启动活动的代码
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
ActivityOptionsCompat options = ActivityOptionsCompat.
makeSceneTransitionAnimation(this, sharedElement, "profile");
startActivity(intent, options.toBundle());
Run Code Online (Sandbox Code Playgroud)
我试过弄乱setSharedElementReturnTransition和setSharedElementReenterTransition,但是什么也没发生。
有没有一种方法可以手动触发共享元素转换来解决此问题。
Amo*_*sai -2
不确定共享元素转换,但您可以重写 onNewIntent 方法以在活动进入前台时应用动画。
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
Log.i(TAG, "onNewIntent: ");
overridePendingTransition(R.anim.transition_enter_from_right, R.anim.transition_exit_to_left);
}
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
321 次 |
| 最近记录: |