在給控件做動畫的時候,我一直都是使用animation的基本動畫來給控件界面添加動畫,能簡單肯定不會用複雜的,我記得在我剛開始的時候要做一個效果,就是要按鈕移動然後結束以後固定到結束的點,我記得當時的我是通過給動畫添加監聽器來判斷動畫結束的時候,然後讓動态設定控件的位置,但是随着對android接觸的越來越多,我漸漸的覺得自己當時的方法是相當的笨。
下來就說下objectanimation跟 valueanimation吧:
objectanimation:
這個子類valueanimator支援動畫的目标對象上的屬性。這類帶參數的構造函數定義的目标對象動畫以及屬性的名稱,将動畫。然後确定适當的設定/擷取函數内部和動畫将調用這些函數作為必要的動畫屬性。
也就是這個動畫可以修改view的屬性,還能固定他的顯示位置,那麼就很簡單了
valueanimation
這個類提供了一個簡單的計時引擎運作動畫動畫計算值和設定在目标對象。
有一個所有動畫使用的定時脈沖。它運作在一個自定義處理程式以確定屬性更改在ui線程上發生。
預設情況下,valueanimator使用非線性插值,通過acceleratedecelerateinterpolator類,它加速,減慢的動畫。這種行為可以改變callingsetinterpolator(timeinterpolator)。
這個是說動畫的所有屬性都可以讓我們控制,使用更加靈活。
其實學習這個是我在想要畫一個抛物線的時候,當我畫完了以後我就想抛物線的動畫挺好看,然後就研究了下,總結了四種抛物線的動畫實作。
(1)
(2)
(3)
(4)
我實驗了多種動畫,可以看看。
demo:http://download.csdn.net/detail/u012808234/9095419