Android屬性動畫—Property Animation(二)

屬性動畫與視圖動畫的差異

視圖動畫提供瞭隻讓View對象具有動畫效果的能力,因此想要非View對象具有動畫效果,就得自己實現動畫效果的代碼。事實上,視圖動畫系統也受到瞭限制,它隻會把很少的View對象的特征暴露給動畫效果,如例如,View對象的縮放和旋轉,但是沒有背景色,等等。

視圖動畫的另一個缺點是,它僅能夠在繪制View對象時被修改,並且不是實際的View對象本身。例如,如果要讓一個按鈕,以動畫的形式穿越屏幕,按鈕正確的繪制瞭,但是點擊按鈕的實際位置卻不會改變,因此必須自己來實現這種處理邏輯。

在屬性動畫系統中,這些現在被徹底刪除,並且能夠讓任何對象的任何屬性具有動畫效果(View對象和非View對象),並且能夠實際修改對象自身。屬性動畫在動畫執行方面也更加健壯。在高層次上,可以給想要動畫效果的屬性分配動畫執行器,如顏色、位置、尺寸以及能夠定義的動畫特性(如插值和多個動畫的同步等)。

但是,視圖動畫系統需要較少的創建時間和編寫較少的代碼。如果視圖動畫能夠滿足需求,或者既存的代碼已經做瞭想要完成的動畫效果,就不需要使用屬性動畫效果瞭。針對不同的情況來選擇使用這兩種不同的動畫系統。

 作者:FireOfStar
 

發佈留言