標籤:自動調用 點擊 ati 繪製 sla 透明度 基於 res 圖片序列
Android包含三種動畫:View Animation, Drawable Animation, Property Animation(Android 3.0新引入)。
1、View Animation:也就是所說的Tweened Animation(補間動畫)。View Animation分為四類:AlphaAnimation, RotateAnimation, ScaleAnimation, TranslateAnimation,分別對應透明度、旋轉、大小、位移四種變化。
它是基於View的漸層動畫,只改變了View的繪製效果,而實際屬性值未變。比如動畫移動一個按鈕位置,但按鈕點擊的實際位置仍未改變。在代碼中定義動畫可以參考AnimationSet類和Animation的子類;如果使用XML,可以在res/anim/檔案夾中定義XML檔案。
其有兩個缺點:(1)View Animation一般只能修改組件(View Object)的部分屬性,比如:scaling和rotation,但是無法修改組件的背景顏色。(2)View Animation使某個組件產生動畫效果移動一段距離後,比如從螢幕左側移動到右側,其實整個過程是繪製出來的效果,該組件真正的位置依然保留在左側,只有點擊左側位置才能觸發該組件。所以想真正移動某組件,需要在動畫結束後添加代碼實現。
2、Drawable Animation:也即frame-by-frame animation(逐幀動畫)。載入一系列Drawable資源來建立動畫,這種傳統動畫某種程度上就是建立不同圖片序列,順序播放,就像電影膠片。在代碼中定義動畫幀,使用AnimationDrawable類;XML檔案能更簡單的組成動畫幀,在res/drawable檔案夾。
3、Property Animation:沿一定時間順序,通過改變View的屬性,從而得到動畫效果。使得“眼見為實”,動畫之後,Object對象的屬性值被實實在在的改變了。Property animation能夠通過改變View對象的實際屬性來實現View動畫,任何時候View屬性的改變,View能自動調用invalidate()來即時重新整理。
Android——動畫的分類