2011-01-05 46 views
2

我有一個ViewFlipper,有時我希望它在視圖之間有動畫,有時我希望它立即在視圖之間切換。更改ViewFlipper轉換的動畫或持續時間

我想弄清楚如何做到這一點。

我試着改變動畫,動畫和動畫之前的動畫,但如果我這樣做,當前視圖在動畫過程中消失。

任何人都知道一種方法來做到這一點?

回答

5

我沒有在我面前確切的代碼,但我記得,如果你想改變的時間,你可以指定顯示的孩子(沒有動畫的話)使用

flipper.setDisplayedChild(childIndex); 

動畫,你必須使用指定自己InOut動畫

flipper.setInAnimation(animIn); 
flipper.setOutAnimation(animOut); 

其中,例如,你有一個動畫XML /res/anim/animIn.xml

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

在上面的例子中,動畫在500ms內從右側移動下一幀。

+0

如果我需要在應用程序運行時更改持續時間等動畫屬性,該怎麼辦?謝謝! – Sermilion 2016-08-18 07:24:51

+0

您提供給這些方法的參數是動畫。您可以在代碼中定義它們或在運行時更改它們。 – 2016-08-18 08:01:12