两个活动之间的动画不起作用

时间:2011-10-10 12:21:52

标签: android animation

我试图在两个活动之间进行幻灯片动画,然后一个人启动另一个活动,

public void onClick(View view) {
    Intent intent = new Intent(TestAppActivity.this, SecondActivity.class);
    startActivityForResult(intent, 1);
    TestAppActivity.this.overridePendingTransition(R.anim.animation_enter,   R.anim.animation_leave);
    finish();
}

根本没有动画。 xmls是,输入:

<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
    android:fromXDelta="-100%"
    android:toXDelta="0%"
    android:fromYDelta="0%"
    android:toYDelta="0%"
    android:duration="3000" />

休假:

<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
    android:fromXDelta="0%"
    android:toXDelta="100%"
    android:fromYDelta="0%"
    android:toYDelta="0%"
    android:duration="3000" />

我可以看到这里的锣错了。使用Android 2.3.3。感谢。

2 个答案:

答案 0 :(得分:0)

overridePendingTransition(R.anim.animation_enter, R.anim.animation_leave);放在finish();之后。

答案 1 :(得分:0)

制作动画,其中第一个活动向左移动,第二个活动从右侧进入:

slide_out_left.xml

<?xml version="1.0" encoding="utf-8"?>

<!--
 Animation : Perform animation : Out - Direction : Left
-->

<set xmlns:android="http://schemas.android.com/apk/res/android">

    <translate
       android:duration="400"
       android:fromXDelta="0"
       android:toXDelta="-100%p" />

</set>

slide_in_right.xml

<?xml version="1.0" encoding="utf-8"?>

<!--
 Animation : Perform animation : In - Direction : Right
-->

<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:duration="400"
        android:fromXDelta="100%p"
        android:toXDelta="0" />
</set>

注意:如果需要,您可以更改android:duration

您必须添加以下代码:

public void onClick(View view) {

   Intent intent = new Intent(TestAppActivity.this, SecondActivity.class);
   startActivity(intent);
   overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
   finish();
}