请参考下图:
1-当应用程序启动时,通过活动显示启动画面
2-然后,执行转到主活动(初始屏幕活动结束)
3-用户通过点击按钮可以进入-1\f25 screen-1 \f6或-2\f25 screen-2 \f6活动。
3.1-执行此操作时,将保留(未完成)主活动,并创建所需的屏幕活动。
4-从screen-2或screen-2活动返回只需完成它们即可。然后,默认情况下,执行返回到主活动。
我想要的是:
1-图片上(A)的默认过渡动画。它意味着从Splash到Main Activity,从Main Activity到screen-1,以及screen-1完成时(返回到Main Activity时)的默认动画。
2-图片上(B)的特定过渡动画。它表示何时从主活动转到screen-2,以及screen-2结束时(返回到Main Activity时)。
就我在这里和互联网上的搜索而言,我从未发现如何实现这一点。
如何做到这一点?
我成功地从Main Activity->screen-1和Main Activity->screen-2获得了不同的动画,但我完全无法在screen-1->Main Activity和screen-2->Main Activity之间拥有不同的动画。
非常感谢您的帮助!
发布于 2013-03-03 10:31:33
您可以使用以下代码启动屏幕2的活动:
startActivityForResult(intent4Screen2, RESULT_ANIMATION);
overridePendingTransition(R.anim.zoom_enter, R.anim.zoom_exit);在onActivityResult()中放入:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case RESULT_ANIMATION:
overridePendingTransition(R.anim.zoom_enter, R.anim.zoom_exit);
break;
}
}RESULT_ANIMATION是一个常量,zoom_enter和zoom_exit是你的动画,如下所示:
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/decelerate_interpolator">
<alpha
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="0.0" android:toAlpha="1.0"
android:duration="@android:integer/config_mediumAnimTime" />
</set>如果你需要支持Android <2.0,它不支持overridePendingTransition()方法,你需要使用反射。
https://stackoverflow.com/questions/15180970
复制相似问题