【发布时间】:2014-09-30 19:31:03
【问题描述】:
当在我的 Activity 中按下一个按钮时,我想完成当前的 Activity 并开始一个新的。我希望新活动固定到位,并在旧活动滑出屏幕时显示在传出活动后面。
Intent intent = new Intent(this, OverviewActivity.class);
startActivity(intent);
finish();
overridePendingTransition(R.anim.hold, R.anim.slide_out_top);
因此,对于新活动,我将应用 hold 动画;这是一个不为任何东西设置动画的占位符。我也尝试过传递0而不是R.anim.hold,但这也不起作用。
<?xml version="1.0" encoding="utf-8"?>
<translate
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0"
android:toXDelta="0"
android:duration="@integer/slide_anim_duration" />
新 Activity 会立即显示在传出 Activity 之上的固定位置,因此旧 Activity 的滑动动画会被遮挡。
有什么方法可以让新的活动被绘制在旧活动的后面,而旧活动正在屏幕上显示动画?
【问题讨论】:
-
你是在线程中调用意图还是什么。
-
@GeorgeThomas 不,这是响应按钮单击的主线程。
-
@pskink 没有区别。
-
我已经弄清楚了问题所在。新活动将立即显示在其固定位置在传出活动的顶部。所以旧活动的滑动动画被遮挡了。
-
感谢各位的帮助。在我确切了解问题所在后,我找到了一个现有的答案。
标签: android android-activity transitions