有人知道如何使用旋转动画启动新活动吗?
我会试着解释一下我想做什么:
例如我在skd示例“apidemos”中查找了android应用程序示例,我找到了一个名为com.exemple.android.apis.animation.Rotate3dAnimation.java
和com.exemple.android.apis.animation.Transition3d.java
的类。这些类允许我在具有旋转效果的图像之间切换。
我想知道是否有办法做同样的事情而不是图像,我将是活动(新的布局)。
答案 0 :(得分:3)
窗口管理器此时不支持3d转换;由于每个活动都是一个窗口,活动之间的动画是窗口动画,因此它们仅限于窗口管理器支持的内容。
答案 1 :(得分:0)
这就是我们如何做到这一点。 假设我们想要从活动A切换到B.首先,我们将为活动A设置动画,然后我们将在重写的函数“onAnimationFinished”中启动活动B.这将确保仅在活动A的动画结束后才启动活动B.
// we will only animate activity A here.
// The activity B will be animated from its onResume() - be sure to implement it.
final Intent intent = new Intent(getApplicationContext(), B.class);
// disable default animation for new intent
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
//Animate A
ActivitySwitcher.animationOut(findViewById(R.id.A), getWindowManager(), new ActivitySwitcher.AnimationFinishedListener() {
@Override
public void onAnimationFinished() {
// Start activity B
startActivity(intent);
}
});
现在覆盖活动B的“onResume”功能
@Override
protected void onResume() {
// animateIn this activity
ActivitySwitcher.animationIn(findViewById(R.id.help_top), getWindowManager());
super.onResume();
}
您可以在此处查看工作示例