2011-10-10 230 views
2

我試圖做兩個活動之間的幻燈片動畫,然後一個人開始另時候,動畫不起作用

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(); 
} 

沒有動畫可言。該個XML是,請輸入:

<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。謝謝。

+0

是一個的ActivityGroup這裏面的活動? – blessenm

回答

0

finish();之後加overridePendingTransition(R.anim.animation_enter, R.anim.animation_leave);

+0

嘗試過,但仍然無法正常工作。 – softwaresupply

+0

您的動畫似乎都沒有內插器。在你的'set'標籤中加入類似'android:interpolator =「@ android:anim/linear_interpolator」'的東西,看看它是否有效。 – DeeV

+0

完成,但仍然沒有成功... – softwaresupply

0

了上述第一活性往左走,第2活動從右側進入做一個動畫:

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(); 
}