更改活动时使用动画

时间:2014-05-23 00:35:47

标签: android animation

我希望在两个活动之间转换时使用从右到左的滑动动画。到目前为止,我已经设置了一个命令来传递给下一个活动。

public void advancenext (View view) {
        Intent intent = new Intent(Prompt1.this, Prompt2.class);
        Prompt1.this.startActivity(intent);
}

但是,我无法将动画合并到此代码中。这是我到目前为止translation动画

的内容
Animation set = new AnimationSet(true);
Animation animation = new AlphaAnimation(0.0f, 1.0f);
animation.setDuration(100);
  set.addAnimation(animation);

  animation = new TranslateAnimation(
      Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 0.0f,
      Animation.RELATIVE_TO_SELF, -1.0f, Animation.RELATIVE_TO_SELF, 0.0f
  );
  animation.setDuration(500);
  set.addAnimation(animation);

  LayoutAnimationController controller =
      new LayoutAnimationController(set, 0.25f);

我如何将动画信息与活动变化相结合?

提前致谢

1 个答案:

答案 0 :(得分:4)

要设置活动入口动画,您必须在res\anim文件夹中创建tween animation(包括字母,缩放,翻译和& c),然后立即致电overridePendingTransition()调用startActivity()

例如,您可以从右侧进入"活动并将前一个活动推出"这些动画文件的效果(如果我理解正确的话):

<强> push_left_exit.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate 
        android:fromXDelta="0"
        android:toXDelta="-100%p" 
        android:duration="@android:integer/config_mediumAnimTime" />
</set>

<强> push_left_enter.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate 
        android:fromXDelta="100%p"
        android:toXDelta="0"
        android:duration="@android:integer/config_mediumAnimTime" />
</set>

建议设置&#34;反向&#34;完成活动时的动画,按下后退按钮时的效果与入口一致。