I know that are some example over the internet and also here on Stackoverflow I found many examples but belive it or not, none of them supply me needs. Even I have asked a similar question few time ago and I have stuck again into this problem. Basically is the same question but in the opposite direction. I can do whatever animation I want with Activity B
but the problem here is Activity A
which I could animate just in few scenarios. Basically ActivityA
play enter_left
only in this combination:
overridePendingTransition(R.anim.enter_from_right, R.anim.exit_on_left);
What I want to do is to animate(move) just the Activity A
either on startActivity()
and onBackPressed()
while Activity B
stay unmoved on the screen. Activity A
swould allways be drawn on top(as a sliding menu, I could do this with Activity B
).
I really thought that the above snippet will do the work:
Intent intent = new Intent(ActivityA.this, ActivityB.class);
startActivityForResult(intent, 500);
overridePendingTransition(R.anim.stay_still, R.anim.exit_on_left);
but this does not even play any animation, while
//this is the animation for onBackPressed()
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
overridePendingTransition(R.anim.enter_from_left, 0);
}
animates Activity A
as I want but Activity B
suddenly disappears from screen and I want to stay (setting (R.anim.enter_from_left, R.anim.stay_still)
does nothing).
I have prepared all 5 necessary animations:
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>
enter_from_right
<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_right
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >
<translate
android:duration="500"
android:fromXDelta="0%"
android:toXDelta="100%" />
</set>
stay_still
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >
<translate
android:duration="500"
android:fromXDelta="0%"
android:toXDelta="0%" />
</set>
I have tried a lot of combinations but non of them worked. Could you please tell me if is this animation possible and if can it be done in this way? I will post an image, to be more clear what I want to do:
So, first step: on startActivity()
, ActivityA
should leave the screen from the left side and while moving, the Activity B
shoull allready "be there", "below it".
Then, onBackPressed()
Acyivity B
should "come back", entering from the left side of the screen and overlapping the ActivityB
that stay unmoved.