標籤:縮放 需要 使用 翻譯 api 時間 系統 translate 矩陣
1、View動畫
View動畫通過對情境裡的對象不斷做映像變換(平移,縮放,旋轉,透明度)從而產生動畫效果,它是一種漸進式動畫。 View動畫支援自訂。
View動畫的四種變換效果對應著Animation的四個子類:TranslateAnimation,ScaleAnimation,RotateAnimation和AlphaAnimation。
自訂動畫:只需要繼承Animation這個抽象類別,然後重寫它的initialize和applyTransformation方法,在initialize方法中做一些初始化工作,在applyTransformation中進行相應的矩陣變換。
LayoutAnimation作用於ViewGroup,為ViewGroup指定一個動畫,當ViewGroup的子項目出場時都會具有這種動畫效果。
2、幀動畫
幀動畫通過順序播放一系列映像從而產生動畫效果,可以簡單理解為圖片切換動畫。幀動畫屬於View動畫的一種。系統提供了AnimationDrawable類來使用幀動畫。
幀動畫容易引起OOM,使用時盡量避免使用過多尺寸較大的圖片。
3、屬性動畫
屬性動畫通過動態地改變對象的屬性從而達到動畫效果,為API11的新特性,在低版本無法直接使用屬性動畫,但是可以通過相容庫使用它。
屬性動畫中有ValueAnimator、ObjectAnimator和AnimatorSet等概念,通過它們可以實現絢麗的動畫。
其中ObjectAnimator繼承ValueAnimator,AnimatorSet是動畫集合。
4、理解插值器和估值器
TimeInterpolator中文翻譯為時間插值器,它的作用是根據時間流逝的百分比來計算出當前屬性值改變的百分比。
TypeEvaluator的中文翻譯為類型估值演算法,也叫估值器,它的作用是根據當前屬性改變的百分比來計算改變後的屬性值。
屬性動畫中的插值器和估值器很重要,它們是實現非勻速動畫的重要手段。
Android中的動畫