Activity B
做任何动画,但问题在于Activity A
,我只能在几种情况下对其进行动画处理。基本上,ActivityA
只在以下组合中播放enter_left
:
overridePendingTransition(R.anim.enter_from_right, R.anim.exit_on_left);
我想做的是在startActivity()
和onBackPressed()
时仅动画移动Activity A
,而Activity B
保持不动。Activity A
始终会被绘制在顶部(就像一个滑动菜单,我可以用Activity B
实现这个目的)。我真的以为上面的片段能解决问题:
Intent intent = new Intent(ActivityA.this, ActivityB.class);
startActivityForResult(intent, 500);
overridePendingTransition(R.anim.stay_still, R.anim.exit_on_left);
但是这甚至没有播放任何动画,而且。
//this is the animation for onBackPressed()
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
overridePendingTransition(R.anim.enter_from_left, 0);
}
我想要对Activity A
进行动画处理,但是Activity B
突然从屏幕上消失了,而我希望它保持在原位(设置(R.anim.enter_from_left, R.anim.stay_still)
并没有作用)。
我已经准备好了所有5种必要的动画:
enter_from_left
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >
<translate
android:duration="500"
android:fromXDelta="-100%"
android:toXDelta="0%" />
</set>
exit_on_left
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >
<translate
android:duration="500"
android:fromXDelta="0%"
android:toXDelta="-100%" />
</set>
从右侧进入
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >
<translate
android:duration="500"
android:fromXDelta="100%"
android:toXDelta="0%" />
</set>
退出右侧。
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >
<translate
android:duration="500"
android:fromXDelta="0%"
android:toXDelta="100%" />
</set>
保持静止
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >
<translate
android:duration="500"
android:fromXDelta="0%"
android:toXDelta="0%" />
</set>
我尝试了很多组合,但都没有成功。您能告诉我这种动画是否可能,并且能否用这种方式实现吗? 我会发布一张图片,更清楚地表达我的意思:
第一步:在startActivity()上,ActivityA应该从左侧离开屏幕,同时移动时,ActivityB应该已经“在那里”,“在它下面”。
然后,在onBackPressed()中,Acyivity B应该从屏幕的左侧“返回”,并重叠保持不动的ActivityB。
图片链接:https://istack.dev59.com/ibfMM.webp 和 https://istack.dev59.com/9uKsE.webp
Activity B
从左侧进入,而Activity A
保持不变。第一个参数是进入(新创建)活动的动画。 - AlexAndro